1067 - Invalid default value for time mysql插入数据库自动更新时间戳
当在MySQL中插入数据时,可以使用CURRENT_TIMESTAMP作为默认值来自动更新时间戳。但是,错误1067 - Invalid default value for 'time'通常是由于MySQL的严格模式导致的。
要解决此问题,您可以尝试以下方法之一:
-
修改MySQL的配置文件my.cnf,将严格模式禁用。在[mysqld]部分添加以下行: sql_mode = "NO_ENGINE_SUBSTITUTION"
-
在插入语句中显式设置时间戳的值。例如: INSERT INTO table_name (time) VALUES (CURRENT_TIMESTAMP)
-
修改表结构,将time列的默认值更改为NULL或具体的时间戳值。例如: ALTER TABLE table_name MODIFY COLUMN time TIMESTAMP DEFAULT NULL
请注意,这些方法适用于MySQL 5.6及更高版本。如果您使用的是较旧的MySQL版本,可能需要使用其他方法来解决此问题。
原文地址: https://www.cveoy.top/t/topic/i3cm 著作权归作者所有。请勿转载和采集!