【发布时间】:2019-10-03 23:24:41
【问题描述】:
在 Cloud SQL 上,使用 MySQL 引擎,如何替换功能 LOAD DATA INFILE ... REPLACE?
我们正在使用 App Engine 和 Cloud SQL 将我们的网络平台迁移到 Google Cloud。
我们使用 IGNORE 或 REPLACE 模式的 LOAD DATA INFILE 将 CSV 文件导入我们的表中。
由于 Cloud SQL 不支持指令 LOAD DATA INFILE,我们如何设法替换它?
我尝试使用 gcloud sql import csv 和 Cloud SQL API,但似乎不存在忽略或替换重复数据的选项。
举个例子,这里是导入数据的表:
C1 | C2 | C3 | C4
-----------------
1 | 2 | 3 | A |
4 | 5 | 6 | B |
7 | 8 | 9 | C |
在这张表上,列 C1+C2+C3 上有一个唯一索引
现在我需要导入一个包含以下内容的 CSV 文件:
1,2,3,AA
如果我使用带有选项 REPLACE 的 LOAD DATA INFILE,导入后的表会是这样的:
C1 | C2 | C3 | C4
-----------------
1 | 2 | 3 | AA |
4 | 5 | 6 | B |
7 | 8 | 9 | C |
所以,我想使用 gcloud sql import csv 或 Cloud SQL API 在 Cloud SQL 上获得相同的行为。
我们需要使用 PHP 以编程方式执行此操作。
有可能还是有其他可能?
谢谢
【问题讨论】:
标签: php mysql google-cloud-platform google-cloud-sql import-csv