正确的语句:
alter table test_table modify column create_time_2 date default '2001-01-01';
控制台打印信息如下:
[SQL]alter table test_table modify column create_time_2 date default '2001-01-01';
受影响的行: 0
时间: 0.015s
错误的语句:
ALTER table test_table MODIFY `create_time` date DEFAULT CURRENT_DATE;
控制台打印信息如下:
[SQL]ALTER table test_table MODIFY `create_time` date DEFAULT CURRENT_DATE;
[Err] 1064 - You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right
syntax to use near 'CURRENT_DATE' at line 1
用datetime和timestamp许多年了,早已习惯;
如今遇到一个date类型的,还无法设置缺省值,真心雷倒了哥。
这明显是MySQL的坑,百思不得其解之下,向万能的百度求救;
好吧,百度不太给力,转向必应……
别问我为什么不用谷歌,请真心面对……
必应上面第五个搜索结果是stackoverflow的链接,其中有个说英语的哥们也问了类似的问题;
看历史信息,貌似问题挂了n天没人正面回答,最后无奈离开。
但很快就找到一个csdn的帖子,将我指向了这个页面:
https://dev.mysql.com/doc/refman/5.7/en/data-type-defaults.html
你妹的……This means, for example, that you cannot set the default for a date column to be the value of a function such asNOW() orCURRENT_DATE.
看到没,人家的规则都在for example里面了。。。这样也行!!!
吐槽:
1.作为一个不习惯读英文文档的爷们,用这些外国人的软件真心麻烦!
2.什么时候能看到举世震惊、威振四海的国产数据库?!