我需要将table2中一行的值(例如Id2 = 2)添加到table1中的一行(例如Id = 1)。 MySQL数据库中总共有100多列
表1
+---+---+---+---+
|Id1| A | B | C |
+---+---+---+---+
| 1 | 0 | 1 | 0 | <- selected row
| 2 | 1 | 1 | 0 |
| 3 | 0 | 0 | 1 |
| n | 0 | 1 | 1 |
+---+---+---+---+
表2
+---+---+---+---+
|Id2| A | B | C |
+---+---+---+---+
| 1 | 0 | 1 | 0 |
| 2 | 0 | 1 | 1 | <- selected row
| 3 | 1 | 0 | 0 |
| n | 1 | 1 | 1 |
+---+---+---+---+
结果:table1
+---+---+---+---+
|Id1| A | B | C |
+---+---+---+---+
| 1 | 0 | 2 | 1 | <- updated
| 2 | 1 | 1 | 0 |
| 3 | 0 | 0 | 1 |
| n | 0 | 1 | 1 |
+---+---+---+---+
已经尝试了很多东西,但它没有用。以为我需要看起来像:
UPDATE table1
SET (SELECT * FROM table1 WHERE Id=1) = (SELECT * FROM table1 WHERE Id=1) + (SELECT * FROM table2 WHERE Id=2)
希望你们能帮帮我:)。
答案 0 :(得分:0)
语法不起作用。您需要单独更新每列。 如果您可以设法在两个表之间获取公用密钥,则可以按照以下语法进行操作。
UPDATE items,month SET items.price=month.price+items.price
WHERE items.id=month.id;
此处进一步参考.. https://dev.mysql.com/doc/refman/5.0/en/update.html