mysql - 1292 : Incorrect datetime value: '' for column at row 1

标签 mysql sql datetime sql-insert sql-mode

我正在尝试将数据从 Excel 工作表加载到 Windows 8.1 上的 MYSQL 5.6 上的下表,但收到“日期时间值不正确:”错误。

术语日期列是 DATETIME 数据类型,并且数据在我试图插入到表中的 Excel 工作表中具有空值。

我做了一些研究,发现问题出在 SQL 严格模式上。但我无法弄清楚如何禁用或修改 SQL 严格模式。

事实上,我尝试过 SET SESSION sql_mode='ALLOW_INVALID_DATES' 但没有运气。

有人说编辑安装目录中的 my.ini 文件会有帮助,但我无法在安装目录中找到它。

任何人都可以帮我解决这个问题吗?

create table EMPLOYEE(EMP_ID integer(10),
EMP_NAME char(25),
SALARY integer(25),
START_DATE datetime,
TERM_DATE datetime DEFAULT '1900-01-01',
PRIMARY KEY (EMP_ID));

错误消息:

15:23:08    INSERT INTO `mith`.`EMPLOYEE` (`EMP_ID`, `EMP_NAME`, `SALARY`, `START_DATE`, `TERM_DATE`) VALUES ('26', 'Will Banker', '90000', '00:00.0', '')  1292: Incorrect datetime value: '' for column 'TERM_DATE' at row 1  

最佳答案

在 MySQL 中,''(空字符串)与 null 不同。如果您想要一个 null 值,则应该使用显式 null:

INSERT INTO `mith`.`EMPLOYEE` 
(`EMP_ID`, `EMP_NAME`, `SALARY`, `START_DATE`, `TERM_DATE`)
VALUES ('26', 'Will Banker', '90000', '00:00.0', null)

关于mysql - 1292 : Incorrect datetime value: '' for column at row 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48202432/

相关文章:

php - 在 mySQL 数据库中存储图像的问题

python - 尝试在 ubuntu 上为 django 设置 mysql 但出现错误 'django.db.utils.OperationalError: (1046, ' 未选择数据库')'

mysql - 如何根据列数据截断一行?

mysql - 即使 count(row) 为零,如何从表中获取数据?请查看描述以了解更多详细信息和查询?

php - MySQL 查询Where Column Like Column

sql-server-2005 - 确定如何在 SQL Server 中计算分割周

Python Plotly 热图日期时间仅显示部分

php - MYSQL + PHP : Arrays and Loops

php - 为什么两个 DateTime 对象之间的差异不起作用?

python - 更新 MySQL 中的数百万行——何时提交