84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我有两张桌子,看起来都像
id name value =================== 1 Joe 22 2 Derk 30
我需要根据每个表中的检查名称将 value 的值从 tableA 复制到 tableB 。
value
tableA
tableB
对于这个 UPDATE 语句有什么提示吗?
UPDATE
您需要连接两个表:
例如,您想要将 name 的值从 tableA 复制到 tableB,它们具有相同的 ID
name
ID
UPDATE tableB t1 INNER JOIN tableA t2 ON t1.id = t2.id SET t1.name = t2.name WHERE t2.name = 'Joe'
更新1
UPDATE tableB t1 INNER JOIN tableA t2 ON t1.id = t2.id SET t1.name = t2.name
更新2
UPDATE tableB t1 INNER JOIN tableA t2 ON t1.name = t2.name SET t1.value = t2.value
除了这个答案之外,如果您需要根据 tableA.value 动态更改 tableB.value,您可以执行以下操作:
UPDATE tableB INNER JOIN tableA ON tableB.name = tableA.name SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value) WHERE tableA.name = 'Joe'
您需要连接两个表:
例如,您想要将
name
的值从 tableA 复制到tableB
,它们具有相同的ID
更新1
更新2
除了这个答案之外,如果您需要根据 tableA.value 动态更改 tableB.value,您可以执行以下操作: