一些东西关于MySQL中的TIMESTAMP
问题描述:
学校使用的PHP课本上有一个很简单的小例子需要用到MySQL。闲来无事就跟着写一遍咯。发现居然翻车了!!!!这可是书上写的语句啊!!!
Create table `emp_info`(
`e_id` int usigned primary key auto_increment,
`e_name` varchar(20) not null,
`e_dept` varchar(20) not null,
`date_of_birth` timestamp not null,
`date_of_entry` timestamp not null
)charset=utf8;
执行了一下,出现Invalid default value for ‘date_of_entry’这样的错误。
原因:
timestamp(设置了NOT NULL)隐式设置默认值Default CURRENT_TIMESTAMP,但是一个表中最多只能有一个字段设置CURRENT_TIMESTAMP。
解决方案:
将第二个TIMESTAMP设置为可空。或者直接给一个’0’的默认值。就是这么简单粗暴。。。