MySQL 建表自动添加当前系统时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 建表自动添加当前系统时间相关的知识,希望对你有一定的参考价值。

mysql 在建表的同时 怎样才能写入一个函数,当添加数据或修改数据的同时,自动将当前系统时间添加到数据库对应字段的记录中?

参考技术A mysql> create table timetest(
-> id int not null,
-> modtime timestamp default current_timestamp on update current_timestamp,
-> primary key(id)
-> )engine=innodb,default charset=utf8;
Query OK, 0 rows affected (0.06 sec)

以下是测试,包括建表时记录时间,插入时记录时间,更新时记录时间:

mysql> insert into timetest(id) values (1),(2),(3);
Query OK, 3 rows affected (0.06 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> select * from timetest;
+----+---------------------+
| id | modtime |
+----+---------------------+
| 1 | 2011-09-21 09:56:24 |
| 2 | 2011-09-21 09:56:24 |
| 3 | 2011-09-21 09:56:24 |
+----+---------------------+
3 rows in set (0.00 sec)

mysql> update timetest set id=10 where id=1;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from timetest;
+----+---------------------+
| id | modtime |
+----+---------------------+
| 2 | 2011-09-21 09:56:24 |
| 3 | 2011-09-21 09:56:24 |
| 10 | 2011-09-21 09:57:15 |
+----+---------------------+
3 rows in set (0.00 sec)

mysql> update timetest set id=4 where id=3;
Query OK, 1 row affected (0.05 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from timetest;
+----+---------------------+
| id | modtime |
+----+---------------------+
| 2 | 2011-09-21 09:56:24 |
| 4 | 2011-09-21 09:58:10 |
| 10 | 2011-09-21 09:57:15 |
+----+---------------------+
3 rows in set (0.00 sec)

mysql>
参考技术B CREATE TABLE `test`.`tabletest` (
`id` INT NOT NULL ,
`d` TIMESTAMP NOT NULL DEFAULT current_timestamp ,
PRIMARY KEY (`id`) );

insert into test.tabletest (idtest.tabletest)values(1);
SELECT * FROM `test`.`tabletest`;
1 2011-09-20 20:49:51
参考技术C 默认为当前时间可以,不过只有TIMESTAMP类型可以alter
table
tablename
modify
field
timestamp
not
null
default
current_timestamp;
参考技术D 大致应该是:
把该字段的默认值设为 当前系统时间 的 函数

以上是关于MySQL 建表自动添加当前系统时间的主要内容,如果未能解决你的问题,请参考以下文章

实现建表时对应字段(修改时间)自动生成当时系统时间

mysql怎么在创建表时设置默认时间为系统时间

mysql(自动添加系统时间)timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性

数据库mysql中,想建立一个默认值是系统当前时间的字段,那么这个字段的类型必须是timestam

mysql 建表时设置默认当前时间

mysql中我已经建了表,怎样给指定的字段添加自动增长