作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行 mysqlimport 来加载数据,但遇到空值未加载为 null 的问题。我正在使用 mysql 5.7.23
可以通过创建一个名为 mytable.psv 的文件来重现问题,该文件包含:
code|date_a|date_b
1|2018-11-27|2018-11-27
2|2018-11-27|
然后运行命令:
mysql -u root -e "CREATE DATABASE mydb"
mysql -u root -e "USE mydb; CREATE TABLE mytable (code varchar(15) NOT NULL, date_a date NOT NULL, date_b date);"
mysqlimport --ignore-lines=1 --fields-terminated-by='|' --columns="code,date_a,date_b" --local -u root mydb mytable.psv
mysql -u root -e "USE mydb; SELECT * FROM mytable;"
输出是:
mydb.mytable: Records: 2 Deleted: 0 Skipped: 0 Warnings: 1
+------+------------+------------+
| code | date_a | date_b |
+------+------------+------------+
| 1 | 2018-11-27 | 2018-11-27 |
| 2 | 2018-11-27 | 0000-00-00 |
+------+------------+------------+
您可以看到第二行的 date_b 是空的,我需要它为空,但它会转换为 0000-00-00。这打破了我进一步需要的限制。从带分隔符的文件导入数据时,有没有办法确保空值是 null?
最佳答案
我能够在这里找到答案: https://dev.mysql.com/doc/refman/8.0/en/mysqlimport.html#option_mysqlimport_lines-terminated-by https://dev.mysql.com/doc/refman/8.0/en/load-data.html您需要字符 '\N' 来导入空值,因此在上面的示例中它将是:
code|date_a|date_b
1|2018-11-27|2018-11-27
2|2018-11-27|\N
关于从分隔文件导入时,mysqlimport NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53490398/
我是一名优秀的程序员,十分优秀!