当我创建一个新的表格时
create table test(rId int auto_increment, createtimestamp timestamp not null, PRIMARY KEY (rId));
它创建了一个默认架构为
createtimestamp
,值为CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
的表。预期行为是没有设置默认值。但是它被设置为默认值:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
。为什么会这样呢?我可以在创建后使用
ALTER TABLE test CHANGE COLUMN createtimestamp createtimestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
来更改此项,但不能将其更改为ALTER TABLE test CHANGE COLUMN createtimestamp createtimestamp TIMESTAMP NOT NULL;
。看起来需要指定默认值,但这正是我不想要的。如何做到在表创建后默认值未设置且架构不为空,而无需进行任何修改?
MySql版本:5.5.49