Pagina 1 din 1

Update in MySQL din PHP bucla for

Scris: Mar Feb 03, 2015
de andras
Salut,
In MySQL am o tabela cu 2 cimpuri numerice (simplificat) cu index pe una din coloane. Vreau sa activez acel index iar in cealalta coloana sa pun valori de la 1 la n (o bucla), dar toate acestea printr-o singura comanda. Exemplu (pseudocod):

Cod: SelectaĊ£i tot

- set index nrpozitie (activez index = nrpozitie este  cimpul din tabela)
- select count(*) as k from tabela
for ($i=1; $i<=$k; $i++)
- update tabela set rang='$i'
Bucla for pentru cimpul rang trebuie sa se faca pe index-ul celeilalte coloane (nrpozitie).
Cum pot face asta in PHP cu un numar minim de interventii? Ideal ar fi o singura interventie in BD. Multumesc.

Update in MySQL din PHP bucla for

Scris: Mar Feb 03, 2015
de MarPlo
Salut
Daca vrei sa faci update la mai multe randuri in mysql printr-o singura comanda, ar trebui sa construiesti comanda SQL Update cu instructiuni CASE.
Personal nu am folosit, deci nu stiu sigur cum se face, dar vezi raspunsul la o astfel de intrebare la adresa:
http://stackoverflow.com/questions/2567 ... -one-query
- Sau vezi ce gasesti pe internet la cautare: mysql multiple update single query

Daca vrei sa executi mai multe comenzi intr-o singura interogare cu MySQLi in PHP, se poate folosi: $mysqli->multi_query($sql), se unesc sirurile cu comenzile SQL intr-un singur sir $sql care se transmite cu multi_query().
Vezi exemplu la pagina: http://php.net/manual/en/mysqli.quickst ... tement.php