-2

我正在使用 PHP 和 MySQL,我有 2 个包含字段numbername. 表 1 中的name字段默认为空,表 2 中有一行匹配的数字我想更新表 1 中的名称。

下面的伪代码说明了这一点:

select number, number 
from table1, table2 
  if number from table1 == number from table2
  then insert or update name from table1 with the value of name from table2
4

1 回答 1

0

在 MySQL 你可以做

UPDATE table1 t1
INNER JOIN table2 t2 ON t1.number = t2.number
SET t1.name = t2.name

如果您不能依赖加入更新语句,则更多的 ANSI 答案将依赖于子查询,例如:

UPDATE table1 t1
SET name = (SELECT name FROM table2 t2 WHERE t2.number = t1.number)
WHERE EXISTS (SELECT 1 FROM table2 t2 WHERE t2.number = t1.number)

WHERE 确保您只更新存在匹配行的列。

于 2013-02-27T09:58:50.027 回答