Saturday, November 3, 2018

mysql - Invalid default value for 'dateAdded'



I got a stupid problem with SQL that I can't fix.



ALTER TABLE  `news` 
ADD `dateAdded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AUTO_INCREMENT ,
ADD PRIMARY KEY ( `dateAdded` )



Error:



(#1067)Invalid default value for 'dateAdded'


Can somebody help me?


Answer



CURRENT_TIMESTAMP is only acceptable on TIMESTAMP fields. DATETIME fields must be left either with a null default value, or no default value at all - default values must be a constant value, not the result of an expression.




relevant docs: http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html



You can work around this by setting a post-insert trigger on the table to fill in a "now" value on any new records.


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...