UPDATE bad_table,good_table
SET bad_table.post_content = good_table.post_content
WHERE bad_table.post_type = 'post' AND
bad_table.post_date = good_table.post_date
这是我的代码,用于根据日期值从一个表到另一个表获取一个完整列,我发现这个案例是唯一的。但是,我一无所获。
如果我选择这个,就像这样:
SELECT * FROM bad_table,good_table
WHERE bad_table.post_type = 'post' AND
bad_table.post_date = good_table.post_date
...我得到了我期望的所有行。我做错了什么?
答案 0 :(得分:2)
假设good_table中可能有多个不是帖子的条目,您需要优化您的加入条件以仅选择“帖子”
update bad_table
inner join good_table on bad_table.post_date = good_table.post_date
and bad_table.post_type = good_table.post_type
set bad_table.post_content = good_table.post_content
where bad_table.post_type = 'post'