在创建表时,某字段为非空时间戳,timestamp not null 问题来了,使用workbench建表时,如果值非空,是需要有一个默认值的,不然会报错。
那么,如果是更新时自动填充可以使用DEFAULT ON UPDATE CURRENT_TIMESTAMP,而只在INSERT时插入,不更新则使用CURRENT_TIMESTAMP;
问题是,如果不想使用CURRENT_TIMESTAMP怎么办泥?
`end_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
这个是用终端的show create table来查看到的语句(偷了个懒,使用了可视工具建表),但是奇怪的问题是,这个语句,CL模式下可以运行的很好,但是在workbench里却无法运行,查了半天也没有找到原因。
ps: 另外,一个表里不可以有多于一处使用CURRENT_TIMESTAMP来作为默认值,这个是MySQL的用法,与workbench无关。