[英]subquery mysql on Update in same table
我知道你们当中有些人会讨厌我问我,但是我有这个:
UPDATE `f.forums`
SET `order` = 66
, forumHeader = (SELECT forumName FROM `f.forums` WHERE id = 1)
WHERE `id` = 8
显然不能正常工作,我搜索了2个小时的问题,得到了很多内部联接和内容,但无济于事,我从同一张桌子获得了名字。
我现在已经选择不了了。
我没有离开SELECT forumName
尝试加入,由于一个或另一个原因而失败
我可以在PHP中使用第二个$ sql查询来处理此问题,但我知道可以在一个数据库中完成。
1)您的(可能)使用不正确,应该是`f`.`forums`(除非表名实际上是f.forums
否则。不应在内部。
2)您无法使用自身的子查询来更新表。
我相信这可以实现您想要的:
UPDATE `f`.`forums` AS f1, `f`.`forums` AS f2
SET f1.`order` = 66
, f1.forumHeader = f2.forumName
WHERE f1.`id` = 8 AND f2.id = 1
;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.