我有一个包含帖子和评论的平面表。目前帖子和评论并没有真正相互联系,我只知道,评论存在于其相应帖子之前(就id列而言)。
改进的第一步是创建一个" commentforid"列并适当填写:
UPDATE mytable t
SET t.commentforid = (SELECT x.id
FROM mytable x
WHERE x.origin = 'POST'
AND x.id > t.id
LIMIT 1)
WHERE t.origin = 'COMMENT'
但是,查询失败并带有
您无法指定目标表格' t'用于FROM子句中的更新
有谁知道问题是什么?我无法从错误消息中做任何事情。
答案 0 :(得分:1)
错误与您正在更新您选择的同一个表的事实有关,您可以使用临时表覆盖此情况
尝试使用表中的dinamic
{{1}}
答案 1 :(得分:1)
错误信息非常清楚。它告诉您,您无法从正在更新的同一个表中获取新值。
为什么?
想象一下(即使是一个错误)您正在尝试使用相同的记录和字段值更新记录中的字段。这对你有意义吗?