subqueries icm IN/SOME/ANY omschrijven naar bruikbare query
Ivar de Jong
20/05/2014 23:20:31Hallo,
Ik ben bezig met een query waarbij een insert in combinatie met een update wordt gebruikt. De update query bevat een subquery welke een of een aantal regels selecteert. Als ik de query uitvoer krijg ik de volgende error: "#1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery"
Het vreemde is dat de laatste versie van mysql momenteel actief is op mijn server en deze soorten queries volgens de mysql documentatie al sinds mysql 5.1 worden ondersteund. Het gaat om de volgende query:
INSERT INTO Orders(OrderID,Orderdate,Leverdate,status) VALUES ('',now(),'2014-21-05','In Behandeling');
UPDATE Dozen SET OrderID = LAST_INSERT_ID() WHERE OrderID IN (SELECT DoosID FROM Dozen Limit 0,1);
Hoe kan ik deze omschrijven naar iets bruikbaars? Had e.e.a. gelezen over INNER JOIN maar als ik IN gewoon in INNER JOIN verander krijg ik een syntax error.
Wie kan mij op weg helpen?
Bij voorbaat dank.
Ik ben bezig met een query waarbij een insert in combinatie met een update wordt gebruikt. De update query bevat een subquery welke een of een aantal regels selecteert. Als ik de query uitvoer krijg ik de volgende error: "#1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery"
Het vreemde is dat de laatste versie van mysql momenteel actief is op mijn server en deze soorten queries volgens de mysql documentatie al sinds mysql 5.1 worden ondersteund. Het gaat om de volgende query:
INSERT INTO Orders(OrderID,Orderdate,Leverdate,status) VALUES ('',now(),'2014-21-05','In Behandeling');
UPDATE Dozen SET OrderID = LAST_INSERT_ID() WHERE OrderID IN (SELECT DoosID FROM Dozen Limit 0,1);
Hoe kan ik deze omschrijven naar iets bruikbaars? Had e.e.a. gelezen over INNER JOIN maar als ik IN gewoon in INNER JOIN verander krijg ik een syntax error.
Wie kan mij op weg helpen?
Bij voorbaat dank.
Gewijzigd op 20/05/2014 23:21:02 door Ivar de Jong
PHP hulp
24/12/2024 00:50:42>> Hoe kan ik deze omschrijven naar iets bruikbaars?
Het is maar wat je bruikbaar noemt. Je databasemodel rammelt aan alle kanten.
UPDATE Dozen SET OrderID = LAST_INSERT_ID() WHERE OrderID = DoosID LIMIT 1
Overigens kan je nooit een subquery op dezelfde tabel als degene die je update hebben.
Het is maar wat je bruikbaar noemt. Je databasemodel rammelt aan alle kanten.
UPDATE Dozen SET OrderID = LAST_INSERT_ID() WHERE OrderID = DoosID LIMIT 1
Overigens kan je nooit een subquery op dezelfde tabel als degene die je update hebben.