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/28530195/

相关文章:

php - 如何将 mysql 表中的数据添加到我已经格式化的 html 页面

mysql - 通过投票对产品进行排名的 SQL

php - mySQL UPDATE 查询不会工作

datetime - 处理亚秒精度 UTC 时间算术中的闰秒

mysql - 使用 Informatica Cloud 将 Csv 的字符串日期值映射到 mySql 数据库中的列

php - 如何连续创建提交表单并将输入与该行相关联?

php - 添加分页后PHP函数不再显示mysql数组数据

mysql - sql表设计

sql - 如何从表中检索最新数据

ios - 从字符串时间 4 :01 to 3:51 in swift 开始递减 int