我正在使用LOAD DATA INTO命令将txt文件中的数据读入我的数据库。在我的输入中,ı需要将' - '字符作为null(不是字符串null)。例如;输入
堆栈 - 溢出
必须是
第1列=堆叠 第二列= null 第3列=溢出。
我该怎么做?
答案 0 :(得分:2)
一种简单的方法是首先使用LOAD DATA而不进行任何转换,然后运行一些更新来更正您想要更改的值:
UPDATE yourtable
SET col1 = NULL
WHERE col1 = '-'
LOAD DATA语法还允许您指定数据的转换:
[SET col_name = expr,...]
列列表可以包含列名称或用户变量。使用用户变量,SET子句使您可以在将结果分配给列之前对其值执行转换。
一个例子是:
LOAD DATA INFILE 'file.txt'
INTO TABLE t1
(column1, @var1)
SET column2 = CASE WHEN @var1 = '-' THEN NULL ELSE @var1 END;