MySQL:使用唯一的标识符将数据从一个表移动到另一个表
我不确定在这种情况下如何使用UPDATE/WHERE语句MySQL:使用唯一的标识符将数据从一个表移动到另一个表,mysql,sql,move,Mysql,Sql,Move,我不确定在这种情况下如何使用UPDATE/WHERE语句 source_table pid, source-text dest_table uid, dest-text, [many more] 我想将src文本移动到dest文本,其中uid等于pid 大概是这样的: UPDATE dest_table SET dest_table.dest-text = source_table.source-text, WHERE source_table.pid = dest_table.pid
source_table
pid, source-text
dest_table
uid, dest-text, [many more]
我想将src文本移动到dest文本,其中uid等于pid
大概是这样的:
UPDATE dest_table
SET dest_table.dest-text = source_table.source-text,
WHERE source_table.pid = dest_table.pid
谢谢
Emil您只需要加入
即可。MySQL中正确的语法是:
UPDATE dest_table d JOIN
source_table s
ON s.pid = d.pid
SET d.dest_text = s.source_text;
标识符中不允许使用连字符。如果确实有连字符,则需要转义名称:
UPDATE dest_table d JOIN
source_table s
ON s.pid = d.pid
SET d.`dest-text` = s.`source-text`;