作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将批量数据上传到 MariaDB 数据库中。数据文件有超过3M条记录。当 SQL 运行 LOAD DATA INFILE
(见下文)语句时,我收到超过 9600 条警告,其中插入数据时出现问题,其中大多数是 Incord Decimal Value: '' for yyy 行的“xxx”列
。 LOAD DATA
语句是:
LOAD DATA LOCAL INFILE 'C:/Path to/Data File.txt'
INTO TABLE xyz
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\r\n';
我尝试了“Incorrect decimal (integer) value: ' ' mySQL”中的建议在脚本开头使用SET SESSION sql_mode = ''
,但没有效果。
据我所知,没有值插入到受影响的列中并不是一个错误,也不需要发出警告。
我需要看到真正错误的事情,但所有这些警告都让我不知所措,而重要的东西却在所有噪音中迷失了。我已经搜索了几天,但没有找到解决方案 - 如何抑制此问题的警告?
最佳答案
LOAD DATA ...
INTO (a, b, ..., @d, ...)
SET d = IF (@d = '', 0, @d)
也就是说,将列作为字符串加载到 @variable
(@d
) 中,然后决定如何处理您输入的“坏”字符串进入实际列 (d
)
关于mysql - 如何在 MariaDB 中抑制 'Incorrect decimal value' 的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47722952/
我是一名优秀的程序员,十分优秀!