我有一个类似论坛网站的数据库。它有一个'用户'表,它与外键链接到其他表('posts','votes'等)。
我正在实现一个功能,用于将两个用户合并到其中一个用户,这需要重新链接所有表。所以我想构建一个这样的查询(在这种情况下,user_id = 1是未触摸用户的id,user_id = 2是正在合并到第一个用户的id):
UPDATE posts, votes ... SET user_id=1 WHERE user_id=2
我自然会收到错误:“字段列表中的列'user_id'不明确”。
我的问题是:如何只用一个查询即可获得所需的结果? (如果可能的话)
编辑:实际桌子数约为6,所以如果你能在答案中考虑到这一点,我将非常感激。
答案 0 :(得分:2)
尝试以[Table_Name] .Column格式设置您的值。
请尝试使用posts.user_id
,而不是使用user_id答案 1 :(得分:0)
以下内容应该如此。
UPDATE posts SET user_id=votes.user_id
FROM posts INNER JOIN votes ON posts.something=votes.something
如果需要更新多个表,请按顺序执行更新。