我是MYSQL查询的新手,所以我正在努力解决这个问题。
我有两张桌子
Table 1
id phone1 phone2 name ...
1 123 456
3 234 567
7 345 678
Table 2
id p1 p2 age ...
1 1123 2456
7 1345 2678
3 1234 2567
两个表的 ID 相同。这两个表都有许多其他行。
我想将数据从表 2 复制到表 1,以便 id 保持不变。
所以输出应该是
Table 1
id phone1 phone2 name
1 1123 2456
3 1234 2567
7 1345 2678
UPDATE Table1 tab1
INNER JOIN Table2 tab2 ON tab2.id = tab1.id
SET
tab1.Column2 = tab2.Column3;
检查此 sqlfiddle
已经回答了:
堆栈溢出
在您的情况下:
UPDATE table1 t1
INNER JOIN table2 t2 ON t2.id = t1.id
SET t1.phone1 = t2.p1,
t1.phone2 = t2.p2;
试试这个。
UPDATE table1 tbl1
JOIN table2 tbl2
ON tbl2.id = tbl1.id
SET tbl1.phone1 = tbl2.p1,
tbl1.phone2 = tbl2.p2;