【发布时间】:2015-08-05 10:30:50
【问题描述】:
| Table [A] | Table [B]
---------------------- ---------------------
| |
| id value data | id value data
| ab 15 100 | ac 19 200
| ab 18 101 | ac 28 310
| ab 22 199 | ac 39 401
表 A 是我的旧数据库表,其中包含历史数据。 表 B 是我当前的数据库表,在 id 中具有更正值
我想将表 A 中的历史数据插入表 B WHERE value=xxxx 并同时在插入表 B 时设置 tablea.id = ac 中的数据,以便数据结果会是。
| Table [A] | Table [B]
-------------------- ----------------------
| |
| id value data | id value data
| ab 15 100 | ac 19 200
| ab 18 101 | ac 28 310
| ab 22 199 | ac 39 401
| | ac 15 100
| | ac 18 101
| | ac 22 199
我将使用 INSERT IGNORE 因为我的表有 3 列,因为它是复合主键。表描述只是一个示例。我的表格有更多的列,只是突出了我想要完成的数据导入的主要区别。
【问题讨论】:
-
id 是否总是
ac?我猜表 [b] 中的第 6 列,值应该是18而不是28 -
对于当前的导入,是的,值将是 ac。
-
那么就可以使用下面的戈登解决方案了
标签: mysql sql database insert insert-into