您好,我正在编写一个使用insert和update的查询,update有一个选择一行或多行的子查询。当我运行查询时,我得到以下错误:"#1235 -这个版本的MySQL还不支持'LIMIT &IN/ALL/ANY/SOUN子查询‘“
奇怪的是,我使用的是mysql的最新版本,这个特性是从5.1开始支持的。我的疑问如下:
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,3);如何将此查询重写为mysql可以理解和执行的内容?
提前感谢!
发布于 2014-05-21 05:34:13
使用INNER JOIN
UPDATE Dozen
INNER JOIN Orders ON DoosID = OrderID
SET Dozen.OrderID = LAST_INSERT_ID()或者将IN更改为=,因为您的子查询无论如何都会返回1条记录。
UPDATE Dozen
SET OrderID = LAST_INSERT_ID()
WHERE OrderID = (SELECT DoosID FROM Dozen LIMIT 1)https://stackoverflow.com/questions/23770330
复制相似问题