2

我正在使用以下命令从 Cloud Sql 中的 Mysql 数据库中导出一个表,

gcloud sql export csv INSTANCE URI --query = QUERY

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

甚至没有关闭报价。

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

有人有临时解决方案吗?

多谢。

4

2 回答 2

2

Cloud SQL 团队目前仍在解决此问题。您可以在此线程上保持更新

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

于 2018-11-22T20:26:37.303 回答
0

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

来自:https ://cloud.google.com/sql/docs/mysql/import-export/import-export-csv#export_data_to_a_csv_file

注意:Cloud SQL 使用双引号(十六进制值“22”)作为默认转义字符。对于以字符串文字形式输入 NULL 值的数据库来说,这可能是个问题。导入使用默认转义字符导出的文件时,文件不会将该值视为 NULL,而是视为“NULL”。我们建议您在导出文件时使用 --escape="5C" 覆盖默认值。

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

于 2021-12-10T15:08:54.200 回答