MySQL:使用唯一标识符将数据从一个表移动到另一个表

问题描述 投票:2回答:1

我不确定如何在这种情况下使用UPDATE / WHERE语句。

source_table
pid, source-text

dest_table
uid, dest-text, [many more]

我想将src-text移动到dest-text,其中uid等于pid。

像这样的东西:

UPDATE dest_table 
SET dest_table.dest-text = source_table.source-text, 
WHERE source_table.pid = dest_table.pid

谢谢!

埃米尔

mysql sql move
1个回答
1
投票

你只想要join。 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`;
© www.soinside.com 2019 - 2024. All rights reserved.