如何从MySQL中的现有列中删除ON UPDATE CURRENT_TIMESTAMP?
ONUPDATECURRENT_TIMESTAMP定义没有显式时间戳的更新将导致当前时间戳值的更新。
您可以使用ALTER命令从列中删除ONUPDATECURRENT_TIMESTAMP。
语法如下
ALTER TABLE yourTableName CHANGE yourTimeStampColumnName yourTimeStampColumnName timestamp NOT NULL default CURRENT_TIMESTAMP;
为了理解上述语法,让我们创建一个表。创建表的查询如下
mysql> create table removeOnUpdateCurrentTimeStampDemo - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > Name varchar(20), - > UserUpdateTimestamp timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP - > );
使用DESC命令检查表的描述。
查询如下
mysql> desc removeOnUpdateCurrentTimeStampDemo;
以下是输出
+---------------------+-------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+-------------+------+-----+-------------------+-----------------------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | UserUpdateTimestamp | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +---------------------+-------------+------+-----+-------------------+-----------------------------+ 3 rows in set (0.04 sec)
现在查看更新CURRENT_TIMESTAMP上的Extra字段。删除ONUPDATECURRENT_TIMESTAMP的查询如下:
mysql> alter table removeOnUpdateCurrentTimeStampDemo - > change UserUpdateTimestamp UserUpdateTimestamp timestamp NOT NULL default CURRENT_TIMESTAMP; Records: 0 Duplicates: 0 Warnings: 0
再次检查表的描述。
查询如下
mysql> desc removeOnUpdateCurrentTimeStampDemo;
以下是输出
+---------------------+-------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+-------------+------+-----+-------------------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | UserUpdateTimestamp | timestamp | NO | | CURRENT_TIMESTAMP | | +---------------------+-------------+------+-----+-------------------+----------------+ 3 rows in set (0.00 sec)
如果要删除默认的CURRENT_TIMESTAMP,则查询如下
mysql> alter table removeOnUpdateCurrentTimeStampDemo - > change UserUpdateTimestamp UserUpdateTimestamp timestamp NOT NULL; Records: 0 Duplicates: 0 Warnings: 0
再次检查表的描述。
查询如下
mysql> desc removeOnUpdateCurrentTimeStampDemo;
以下是输出
+---------------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | UserUpdateTimestamp | timestamp | NO | | NULL | | +---------------------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
现在看上面的示例输出,我们删除了ONUPDATECURRENTTIMESTAMP。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西