创建自动更新的 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 自动更新的方法,没有找到,经自己尝试用上面方法可以修改。
本文转自博客园知识天地的博客,原文链接:mysql 添加[取消]timestamp的自动更新,如需转载请自行联系原博主。