-3
我使用:无效的默认值
'time' type(datetime) defult value(CURRENT_TIMESTAMP)
,但它不能正常工作,它显示了以下错误:
Invalid default value for 'Date'
请任何人可以帮助我吗?
我使用:无效的默认值
'time' type(datetime) defult value(CURRENT_TIMESTAMP)
,但它不能正常工作,它显示了以下错误:
Invalid default value for 'Date'
请任何人可以帮助我吗?
如果你正在运行的MySQL版本5.6.5或更高版本
在你的CREATE TABLE你可以宣布这样的一列:
`mydtcol` DATETIME DEFAULT CURRENT_TIMESTAMP
5.6之前,这是不可能的使用CURRENT_TIMESTAMP的DATETIME柱。表格中的第一个TIMESTAMP列可能是可能的。
`mytscol` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
如果你需要列是DATETIME数据类型,并且您需要在插入一行初始化的列的值,你可以提供在INSERT语句,例如列的值
INSERT INTO mytable (...,mycol,...) VALUES (...,'2016-04-21 23:55:55',...)
或者,您可以使用BEFORE INSERT触发器为列指定一个值。
DELIMITER $$
CREATE TRIGGER mytable_bi
BEFORE INSERT ON mytable
FOR EACH ROW
BEGIN
IF new.mydtcol IS NULL THEN
SET new.mydtcol = NOW();
END IF;
END$$
DELIMITER ;
谢谢你的帮助 –
将您的错误信息与您的代码一起发送! – Saty
分享表架构/结构Image还有吗? – C2486
可能的重复:http://stackoverflow.com/questions/11573586/invalid-default-value-for-date – spencer7593