Archív: Květen 2007

21. 5. 2007 v 19.01

Vícenásobný INSERT v MySQL

Pokud potřebujeme do databáze vložit více řádků, většinou se to dělá tak, že se postupně pokládají dotazy pro vložení jednotlivých řádků. Tedy v PHP nějak takto:

foreach($tags as $tag) {
   $db->query('INSERT INTO [tags] (name,title) VALUES("'.$tag->name.'", "'.$tag->title.'")');
}

Tento způsob je ale celkem neefektivní, v MySQL ovšem můžeme použít následující syntaxi, která nám umožňuje vložit více řádků v jenom dotazu:

$db->query('INSERT INTO [tags] (name,title) VALUES ("accik", "Accík"), ("accing", "Accing")');

Problém ovšem může nastat v tom případě, pokud bude sloupec name unikátní a zkusíme do něj vložit již existující hodnotu. V tom případě se totiž vkládání neprovede. Řešení je ovšem jednoduché, stačí použít klíčové slovo INGNORE.

Pokud je tento článek „nošením dříví do lesa“, tak se vám omlouvám. Jenže na českém webu jsem o tom nenalezl žádnou zmínku a třeba se to někdy někomu bude hodit.

15. 5. 2007 v 21.37

Nebezpečné obrázky I ½.

11. 5. 2007 v 17.30

Nebezpečné obrázky I.