Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před rokem

tomasvinduska
Nový člen
Registrovaný: 9. 7. 2010
Příspěvky: 1

update více řádků v jednom dotazu

Ahoj,

řeším teď takovou blbost jak v Dibi udelat update napr 1000 radek v 1 SQL dotazu a nevím si rady.

původní řešení:

<?php
foreach($data as $position => $item){
  $arr=array('priorita'=>$position);
  dibi::query('UPDATE ['.$table.'] SET ',$arr,' WHERE id=%i',$item)
}
?>

výsledek:
100×

UPDATE tabulka SET priorita = '2' WHERE id = '4'

v MYSQL bych to vyřešil takto:

UPDATE tabulka
     SET priorita = case id
           when 4 then 2
           when 5 then 3 end,
datumcas='datum'
 WHERE id in(4,5)

No a finální otázka je jak ten SQL dotaz poskladat v Dibi?

 

Zápatí