我有一个包含 1000 列的表(是的,它已标准化),用于存储 Biiig Daaata!
我需要插入更新新数据,因为它在一夜之间可用,并认为最快的方法是获取数据,生成 CSV 文件并插入表 2。
Table 1 Table2
(Real Data) (Data to be merged)
然后执行以下操作:
INSERT INTO blueData b
SELECT *
FROM rawData r
ON DUPLICATE KEY
UPDATE _____
这是我画一个空白的地方,基本上所有的字段都是1或0的位字段(PK除外)。我想在两个表中保留所有1的字段,其余的可以保持为零。
重新解释一下,Table2 将有与表 1 相关的新数据。我需要将表 2 中的新位字段设置为表 1 上的相应 PK,而不删除其 1 位字段。但是因为它生成一个 CSV,所以在数据的新列中生成了 0。
表格1:
Row1:
PK: abc
BI: 1
BG: 0
BD: 0
BF: 0
表 2:
Row1:
PK: abc
BI: 0
BG: 1
BD: 1
BF: 0
最终需要像:Table1
Row1:
PK: abc
BI: 1
BG: 1
BD: 1
BF: 0
希望这一切都有意义:D
我需要帮助编写关于重复键的更新部分,如果我不必编写一个巨大的 SQL 语句来处理每一列(如果我必须在 Python 中生成一个),那么只处理 1000 列会很好使查询变得巨大!