Google 云 sql 包含空值时导出 csv 失败

Google cloud sql export csv fails when contains nulls

我正在使用命令 Sql 从云 Mysql 数据库中导出 table,

gcloud sql export csv INSTANCE URI --query = QUERY

我的存储桶中有该文件,但是当我尝试导入 Bigquery 时它失败了,我注意到所有空值都被替换为“n,

甚至没有关闭报价。

我发现这是一个已知错误, https://cloud.google.com/sql/docs/mysql/known-issues

有人有临时解决方案吗?

非常感谢。

Cloud SQL 团队目前仍在解决此问题的修复程序。您可以在 this thread

上保持更新

如果您必须使用 CSV,您可以尝试使用 SQL 客户端使用您喜欢的选项 (LOAD DATA LOCAL INFILE) 发出导入,而不是使用云 SQL 导入API

gcloud sql export csv API 现在支持解决此问题的选项。

发件人:https://cloud.google.com/sql/docs/mysql/import-export/import-export-csv#export_data_to_a_csv_file

Note: Cloud SQL uses double quotes (hex value "22") as the default escape character. This can be a problem for databases where values for NULL are entered as string literals. When importing a file that was exported using the default escape character, the file doesn't treat the value as NULL but as "NULL". We recommend that you use --escape="5C" to override the default when you export the file.

例如,gcloud sql export csv --escape="5C" INSTANCE URI --query = QUERY