

MySQL 4 - viac príkazov naraz
Chcem vytvoriť tabuľku a vložiť 10 záznamov. Problém je v tom, že ak použijem funkciu mysql_query(), tak sa mi nevykoná, ak v nej mám viac ako jeden príkaz (v mojom prípade je to create a 10x insert). Viete mi poradiť ako to vykonať naraz? Verzia MySQL je 4.
Keď sa pozrieš do dokumentácie pre mysql_query, tak sa dozvieš, že nepodporuje vykonanie viacerých príkazov:
Keď sa pozrieš do dokumentácie pre INSERT, tak sa dozvieš, že viacero riadkov môžeš vložiť pomocou jedného príkazu:
Hlavná vec, že všade čítam o SQL injection pomocou dvoch príkazov SQL. Ale dobre, ďakujem. Urobil som to cez viacpoložkový insert.
a což takhle 11x zavolat fci mysql_query
)
nebo přes phpmyadmin - tam se tuším dá napsat do pole víc příkazů najednou (ale udělá to předpokládám úplně stejně
To je tiež riešenie, lenže chcem, aby ten programový kód aj nejako vyzeral.
No ježiši, takto by měl výsledný kód 1MB místo 100kb, k takovým lidem mám svůj postoj, nehledě na to, že to zatěžuje databázi, otevře, zapíše, zavře, otevře, zapíše... místo otevře zápis 10x zavře.
Vo veľkosti výsledného kódu by nebol taký dramatický rozdiel (bolo by to odhadom niekoľko desiatok bajtov). Okrem toho by to bol jediný možný spôsob v prípade, že by MySQL nepodporovalo túto konštrukciu (ktorá nie je súčasťou štandardu SQL92).
Čo sa týka záťaže databázy: desať jednoduchých príkazov, ktoré sa pravdepodobne nevykonávajú nejako často, je vo všeobecnosti nič a ťažko sa dá rozmýšľať nad nejakou optimalizáciou výkonnosti, ak nepoznáme v podstate žiadne detaily o aplikácii a ani o prostredí, v ktorom beží.