創建自動更新的 timestamp (插入或修改時 uptime都會自動更新)
CREATE TABLE `hello` (
`id` int(11) NOT NULL,
`uptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
KEY `line_id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3526391 DEFAULT CHARSET=utf8
修改為不自動更新(只是插入是自動生成當前時間)
alter table hello change uptime uptime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP;
show create table hello;
CREATE TABLE `hello` (
`id` int(11) NOT NULL,
`uptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
KEY `line_id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3526391 DEFAULT CHARSET=utf8
再修改為自動更新:
alter table hello change uptime uptime timestamp
show create table hello;
CREATE TABLE `hello` (
`id` int(11) NOT NULL,
`uptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
KEY `line_id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3526391 DEFAULT CHARSET=utf8
mysql 有修改默認值的方法
alter table table_name alter column column_name set default xxx;
此方法適用於一般類型的字段,卻無法修改timestamp ,修改時總是報錯,網上搜索關於修改timestamp 自動更新的方法,沒有找到,經自己嘗試用上面方法可以修改。