Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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_Sql Update - Fatal编程技术网

MySQL查询,在两个字段匹配时使用另一个字段中的数据更新一个字段

MySQL查询,在两个字段匹配时使用另一个字段中的数据更新一个字段,mysql,sql,sql-update,Mysql,Sql,Sql Update,每当两个单独的字段(每个表上一个)匹配时,我需要用表中另一个字段的内容更新表中一个数据字段的内容。我一直在尝试这种语法,但如果不给我一个错误,我就无法让它正常工作 UPDATE table1 SET field1 = table2.field1 FROM Table1,Table2 WHERE Table1.entry = Table2.entry 更新。。。from是sql server的语法。在MySQL中,您可以直接使用多个表: update table1 t1 jo

每当两个单独的字段(每个表上一个)匹配时,我需要用表中另一个字段的内容更新表中一个数据字段的内容。我一直在尝试这种语法,但如果不给我一个错误,我就无法让它正常工作

UPDATE table1
   SET field1 = table2.field1
  FROM Table1,Table2
 WHERE Table1.entry = Table2.entry

更新。。。from
是sql server的语法。在MySQL中,您可以直接使用多个表:

update
  table1 t1
  join table2 t2 on t2.field = t1.field
set
  t1.field1 = t2.matchingfield
where
  t1.whatever = t2.whatever

MySQL更新中详细说明了所有内容。

FROM子句应该包含表名,而不是字段名。是否保证每个
field2.entry
都有一个可能的
table2.field1
?从表1中可以看出,表2是正确的,我的输入错误,不,每个field2.entry通常只有一个对应的field1值,但它可能有更多,在这种情况下,我并不关心它复制哪个值。