可能的重复:
Mysql 错误 1093 - 无法在 FROM 子句中指定更新的目标表
将 SELECT 查询放入 UPDATE 查询的 WHERE 子句中时出现错误。
我的查询是这样的:
UPDATE `subschedulesseats` m
SET m.studentid='1'
WHERE m.`seatid`= (
SELECT h.`seatid`
FROM `subschedulesseats` h
WHERE h.`sessiontime`='02:30~04:00'
ORDER BY h.`seatid` ASC
LIMIT 2,1
)
并且错误将显示如下:
“您不能在 FROM 子句中指定要更新的目标表 'm'”
我附上了错误显示的快照。
请问有人可以帮助我解决这个问题吗?
先感谢您
实际上,您可以通过将其包装在子查询中来更新它(从而为结果创建临时表)
UPDATE `subschedulesseats` m
SET m.studentid='1'
WHERE m.`seatid`=
(
SELECT seatID
FROM
(
SELECT h.`seatid`
FROM `subschedulesseats` h
WHERE h.`sessiontime`='02:30~04:00'
ORDER BY h.`seatid` ASC
LIMIT 2,1
) s
)
或通过使用JOIN
UPDATE `subschedulesseats` m
INNER JOIN
(
SELECT seatID
FROM
(
SELECT h.`seatid`
FROM `subschedulesseats` h
WHERE h.`sessiontime`='02:30~04:00'
ORDER BY h.`seatid` ASC
LIMIT 2,1
) s
) t ON m.seatID = t.seatID
SET m.studentid = '1'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)