I have a database table with a datetime column开发者_运维技巧. Everything works fine if a make an Insert using the current date :
INSERT INTO table VALUES ('field1', now(), 'field2');
But it returns NULL when I try to insert a date in the future. I do this :
INSERT INTO table VALUES ('field1', '2011-07-01 00:00:00', 'field2');
What's wrong with this query ??
nb. It works fine when I insert the current date, and then make an update using DATE_ADD() But it's complicated, there's nothing easier to do this ??
thanks !
Take a look at this
The only problem you really have is that string you want insert to date field is not parsed to string. functions like now(), and other date time returns date type and, as you've written there is no problem with that. Hint: "If the date, time, or datetime value extracted from str is illegal, STR_TO_DATE() returns NULL and produces a warning"
Use this
INSERT INTO table VALUES ('field1', CURRENT_TIMESTAMP, 'field2');
Sorry, my bad :/
I forgot a column before in my sql query, that's why it returned NULL...
In the end a basic INSERT like '2014-01-00 00:00:00' works fine on a datetime (even if you don't put the hh:mm:ss).
精彩评论