【发布时间】:2015-09-09 01:47:36
【问题描述】:
我需要将 table2 中的一行的值(例如 Id2=2)添加到 table1 中的一行(例如 Id=1)。 MySQL数据库共有100+列
table1
+---+---+---+---+
|Id1| A | B | C |
+---+---+---+---+
| 1 | 0 | 1 | 0 | <- selected row
| 2 | 1 | 1 | 0 |
| 3 | 0 | 0 | 1 |
| n | 0 | 1 | 1 |
+---+---+---+---+
table2
+---+---+---+---+
|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)
希望你们能帮帮我:)。
【问题讨论】:
-
您的意思是一个表中有 100 列吗? OMG 数据库不是电子表格。
-
@e4c5 它实际上是我在 Excel/vba 中编写的一个应用程序,现在是一个在线版本。似乎mysql不是一个合适的工具,你能推荐别的吗? Redis?
-
Mysql 是一个合适的“工具”,只是 RDBMS 中的数据结构与电子表格有很大不同。如果您想像大自然一样保留电子表格,您将需要使用 nosql 系统。
标签: mysql