当在MySQL中插入数据时,可以使用CURRENT_TIMESTAMP作为默认值来自动更新时间戳。但是,错误1067 - Invalid default value for 'time'通常是由于MySQL的严格模式导致的。

要解决此问题,您可以尝试以下方法之一:

  1. 修改MySQL的配置文件my.cnf,将严格模式禁用。在[mysqld]部分添加以下行: sql_mode = "NO_ENGINE_SUBSTITUTION"

  2. 在插入语句中显式设置时间戳的值。例如: INSERT INTO table_name (time) VALUES (CURRENT_TIMESTAMP)

  3. 修改表结构,将time列的默认值更改为NULL或具体的时间戳值。例如: ALTER TABLE table_name MODIFY COLUMN time TIMESTAMP DEFAULT NULL

请注意,这些方法适用于MySQL 5.6及更高版本。如果您使用的是较旧的MySQL版本,可能需要使用其他方法来解决此问题。


原文地址: https://www.cveoy.top/t/topic/i3cm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录