[mysql]meerdere queries na elkaar uitvoeren

Pagina: 1
Acties:
  • 403 views sinds 30-01-2008
  • Reageer

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 13:58
Oke, het zal wel een ontzettend domme vraag zijn die je in 5 min. kunt opgooglen, maar mij lukt het echt niet...

Ik wil graag 2 tabellen tegelijk updaten via een php-script. Hiervoor moet ik een sql-querie in elkaar bouwen:
code:
1
 UPDATE cpgpictures SET aid = 2 WHERE aid = 12 && UPDATE cpgpictures SET aid = 7 WHERE aid = 17
maar dit werkt niet. Ik moet iets anders hebben voor &&, maar wat? |, &, AND, && geprobeerd maar allemaal zonder resultaat. Kan dit uberhaupt (lijkt me wel...)?

Is er iemand die mij hierbij zou willen helpen?

[ Voor 6% gewijzigd door Paultje3181 op 22-03-2006 15:18 ]


  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:02

Gonadan

Admin Beeld & Geluid, Harde Waren
Is het echt nodig om het in 1 query te doen? :?

Ik ben alvast aan het googlen voor je ;)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Zie de manual bij Multiple-table syntax.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


  • GarBaGe
  • Registratie: December 1999
  • Laatst online: 20:11
Tja, dit gaat niet. Het zijn gewoon losse queries.
Als je wilt dat beide als 1 query wordt uitgevoerd (zo van: als de 2e faalt, moet de 1e ook worden teruggedraaid), dan moet je transacties gebruiken met begin / commit / rollback.
De ondersteuning hiervan is afhankelijk van je DB. Bij MySQL vanaf versie 5 (als ik met niet vergis)

Edit: kewl, een multiple table update syntax. Die kende ik nog niet. Zeker ook een nieuwe feature van MySQL 5 ?? Doet om en nabij hetzelfde :)

[ Voor 18% gewijzigd door GarBaGe op 22-03-2006 15:26 ]

Ryzen9 5900X; 16GB DDR4-3200 ; RTX-4080S ; 7TB SSD


  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:02

Gonadan

Admin Beeld & Geluid, Harde Waren
astu


*kijkt boos naarz wippie*

jij googled sneller :'(

[ Voor 32% gewijzigd door Gonadan op 22-03-2006 15:25 ]

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 23-02 17:28
Als je het gewoon als 2 losse querys wilt uitvoeren in 1 mysql_query() call, gebruik je de semicolon ";"

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 13:58
dat is inderdaad de oplossing! Dankjewel!

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:02

Gonadan

Admin Beeld & Geluid, Harde Waren
frickY schreef op woensdag 22 maart 2006 @ 15:34:
Als je het gewoon als 2 losse querys wilt uitvoeren in 1 mysql_query() call, gebruik je de semicolon ";"
|:(

ik voel mij nederig

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 30-10-2025
frickY schreef op woensdag 22 maart 2006 @ 15:34:
Als je het gewoon als 2 losse querys wilt uitvoeren in 1 mysql_query() call, gebruik je de semicolon ";"
Volgens mij is dit niet mogelijk. PHP wil graag een status teruggeven in de vorm van een boolean of resource identifier. Om dit mogelijk te maken, kan je maar 1 query tegelijk uitvoeren via mysql_query.

De oplossing is dus gewoon 2 keer een mysql_query aanroep doen.

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 13:58
meerdere keren een mysql_query doen werkt inderdaad. Alleen een ; werkt wel in phpmyadmin, maar niet in een gewoon sql bestand...

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 30-10-2025
Paultje3181 schreef op woensdag 22 maart 2006 @ 19:17:
meerdere keren een mysql_query doen werkt inderdaad. Alleen een ; werkt wel in phpmyadmin, maar niet in een gewoon sql bestand...
Die ; werkt in PMA, omdat ze hier de SQL string splitsen op punt comma's en vervolgens voor elke losse query een mysql_query aanroep doen. In een gewoon SQL bestand kan je dus ook ; opnemen (een SQL bestand met telkens 1 query is immers wat nutteloos) Wil je die gegevens via PHP in je MySQL database zetten, dien je hiervoor een speciale parser te gebruiken.

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 18:30

Robtimus

me Robtimus no like you

Paultje3181 schreef op woensdag 22 maart 2006 @ 15:18:
code:
1
 UPDATE cpgpictures SET aid = 2 WHERE aid = 12 && UPDATE cpgpictures SET aid = 7 WHERE aid = 17
In dit specifieke geval werkt het volgende wel:
SQL:
1
UPDATE cpgpictures SET aid = aid - 10 WHERE aid IN (12, 17)

More than meets the eye
There is no I in TEAM... but there is ME
system specs

Pagina: 1