【发布时间】:2019-06-08 18:51:43
【问题描述】:
我正在尝试通过 phpMyAdmin 将一个简单的 INSERT 插入到一个表中,该表的列名为“date_end”,“DATETIME”类型值和默认值设置为“none”(因此,如果在插入时,在 INSERT 行它是空的,该字段不应以值结尾),当我尝试插入这样的内容时:
INSERT INTO `tasks`
(`id`, `customer`, `technician`, `date_start`, `date_end`, `description`)
VALUES (NULL, '', '', '', '', '');
我收到以下错误:#1265 - 第 1 行上的列 'date_end' 的数据被截断,然后为 'data_start' 和 'data_end' 插入的值是 '0000-00-00 00:00:00' 而不是空字段(仅当 INSERT 语句中的 'date_start' 和/或 'date_end' 为空时才会发生这种情况)。
我已从 Wamp 更改为 Xampp,而在 Wamp 中,这并没有发生,所以我想是不是与 mysql 配置有关?我不确定。
我在 PHP 7.3.0 和 apache 2.4.37 中使用 MariaDB 10.1.37(我认为这是问题所在)。
【问题讨论】:
-
如果 date_end 将是 none/default,则根本不要传递该列,或者使用 NULL 而不是空字符串。
-
日期时间可以保持
none吗?听起来会导致错误。 -
@user3783243 我已经做了好几次了。该字段默认没有“none”值,而是一个空值。
-
从列中删除
id。如果您不打算填充它,请从列表中省略它。 -
id列是Ai。
标签: mysql datetime null mariadb default-value