Multiple UPDATE într-un singur query

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

lexta
Average Member
Mesaje: 110
Membru din: Mie Noi 16, 2011 11:53 pm

Multiple UPDATE într-un singur query

Mesajde lexta » Lun Dec 07, 2015 1:28 am

Salut , deci am următorul script

Cod: Selectaţi tot

mysql_query("UPDATE example SET age='22' WHERE age='21'");

Problema este că vreau să fac UPDATE-uri în tabele diferite cu structuri diferite şi vrau să fac ceva de genu:

Exemplu:

Cod: Selectaţi tot

mysql_query("UPDATE example1 SET age='22' WHERE age='21'; UPDATE example2 SET age='22' WHERE age='21'; UPDATE example3 SET age='22' WHERE age='21';");


Cum pot face aşa ceva ? Aveam un script care funcţiona pe principiul acesta dar nu-l găsesc.

Când îl execut primesc eroare gen: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version



nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: Multiple UPDATE într-un singur query

Mesajde nevvermind » Lun Dec 07, 2015 2:14 am

Ai cautat pe net? Sunt o gramada de sugestii. Mai toate gravitand in jurul join-urilor.
Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

lexta
Average Member
Mesaje: 110
Membru din: Mie Noi 16, 2011 11:53 pm

Re: Multiple UPDATE într-un singur query

Mesajde lexta » Lun Dec 07, 2015 5:56 am

nevvermind scrie:Ai cautat pe net? Sunt o gramada de sugestii. Mai toate gravitand in jurul join-urilor.


Nu vreau cu join.. vreau ceva ca în exemplul meu.

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: Multiple UPDATE într-un singur query

Mesajde nevvermind » Mar Dec 08, 2015 1:30 am

"Nu vreau cu join.. vreau ceva ca în exemplul meu."
Pai.. exemplul tau iti da eroare mysql.

"mysql_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier. "
Am evidentiat eu partea care te intereseaza, sa nu-ti scape.

Nu mai folosi mysql_query. E deprecated de un mileniu. Foloseste PDO.

Trebuie mai multe call-uri de mysql_query, altfel nu merge. Nu-ti mai bate capul atata - fa mai multe interogari si gata.
Daca vrei ca operatiunea sa fie atomica si reversibila, pune toate cele 3 interogari intr-o tranzactie:

Cod: Selectaţi tot

start transaction;
-- cele 3 interogari
commit;
Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

lexta
Average Member
Mesaje: 110
Membru din: Mie Noi 16, 2011 11:53 pm

Re: Multiple UPDATE într-un singur query

Mesajde lexta » Mar Dec 08, 2015 5:21 pm

Am rezolvat m-am folosit de $mysqli->multi_query()


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 42 vizitatori