我正在尝试将tsv文件加载到mariadb表中。其中一个字段是可以为空的DATE。从我收集的内容来看,加载数据infile使用“\ N”来识别空内容,但在这种情况下,它是不行的:
ERROR 1292 (22007) at line 1: Incorrect date value: '\N' for column 'delete_date' at row 1
任何想法如何导入数据而不为导入编写特定的CASE WHENs?它是加载多个表的脚本的一部分,因此我不想将其视为特殊情况。
将该字段留空当然也是一个错误:
ERROR 1292 (22007): Incorrect date value: '' for column 'delete_date' at row 1
我假设可以导入日期的空值,所以我必须遗漏一些东西。
当sql_mode
服务器系统变量设置为strict
模式时,抛出该错误。如果未设置,则可以输入空白日期 - 生成警告并插入“0000-00-00”。
如果你可以在导入期间设置严格模式off
,那应该有效,否则你需要用CSV或'0000-00-00'替换CSV中的空白日期列。