只允许一个 INT 有 AUTO_INCREMENT 修饰符。
以同样的方式,只允许一个 TIMESTAMP 具有 CURRENT_TIMESTAMP 修饰符。
如果您需要多个 TIMESTAMP,则所有此类列都应定义为 DATETIME 或 TIMESTAMP,不带 CURRENT_TIMESTAMP
如果可以的话,粘贴一下
select version();
DROP DATABASE IF EXISTS mydb;
CREATE DATABASE mydb;
USE mydb
CREATE TABLE mytable
(
id INT NOT NULL AUTO_INCREMENT,
ts1 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
ts2 TIMESTAMP,
dt1 DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
dt2 DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
SHOW CREATE TABLE mytable\G
你明白了
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.21 |
+-----------+
1 row in set (0.00 sec)
mysql> DROP DATABASE IF EXISTS mydb;
Query OK, 1 row affected (0.23 sec)
mysql> CREATE DATABASE mydb;
Query OK, 1 row affected (0.00 sec)
mysql> USE mydb
Database changed
mysql> CREATE TABLE mytable
-> (
-> id INT NOT NULL AUTO_INCREMENT,
-> ts1 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-> ts2 TIMESTAMP,
-> dt1 DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-> dt2 DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-> PRIMARY KEY (id)
-> );
Query OK, 0 rows affected (0.30 sec)
mysql> SHOW CREATE TABLE mytable\G
*************************** 1. row ***************************
Table: mytable
Create Table: CREATE TABLE `mytable` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ts1` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`ts2` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`dt1` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`dt2` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
mysql>
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 不能有多个 TIMESTAMP
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 可以有多个 DATETIME
试试看!!!
有关更多信息,请阅读 MySQL 文档中的 Automatic Initialization and Updating for TIMESTAMP and DATETIME。
对于 phpmyadmin 而言,它任由 mysql 摆布。如果 mysql 不允许这样做,phpmyadmin 也不会。