Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:使用唯一的标识符将数据从一个表移动到另一个表_Mysql_Sql_Move - Fatal编程技术网

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

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

我不确定在这种情况下如何使用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
谢谢


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`;