【发布时间】:2012-09-07 13:25:14
【问题描述】:
我想使用 HeidiSQL 将 csv 文件导入我的 MySQL 数据库。
但是我的一些字段是空的。
我该怎么做才能让 HeidiSQL 知道这些空值必须被视为 NULL 值?
csv 文件样本(最后 2 个字段未知):
NULL;Students Corner;437452182;;
创建命令:
CREATE TABLE `db`.`customers` (
`company_id` INT NOT NULL AUTO_INCREMENT ,
`company_name` VARCHAR(40) NULL ,
`company_number` INT NULL ,
`company_vat` INT NULL ,
`company_zip` INT NULL,
PRIMARY KEY (`company_id`) );
我收到以下错误:
Incorrect integer value: '' for column 'company_id' at row 1 */
Incorrect integer value: '' for column 'company_vat' at row 1 */
Incorrect integer value: '' for column 'company_zip' at row 1 */
etc
【问题讨论】:
-
从 CSV 发布 SHOW CREATE TABLE 和示例行
-
您可以使用带有 SET 子句的 LOAD DATA INFILE 命令来实现 - 用 NULL 值替换空字符串。
-
替换;;由 ;NULL;在您的 CSV 文件中,然后重试。