mysql只能有一列是timestamp的问题

MySQL Error “There can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT clause” even though I'm doing nothing wrong

http://jasonbos.co/two-timestamp-columns-in-mysql/


这是一个非常常见的表:有create_time , update_time,甚至可以说是规范,当然我们想这些时间自动更新,交给Mysql处理,但是问题来了:

创建一个这样的表:

CREATE TABLE `test_table` (
`id` INT( 10 ) NOT NULL,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE = INNODB;

原来Mysql会自动处理:

CREATE TABLE `test_table` (
`id` INT( 10 ) NOT NULL,
`created_at` TIMESTAMP NOT NULL DEFAULT 0,
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE = INNODB;
INSERT INTO test_table (id, created_at, updated_at) VALUES (1, NULL, NULL);

have fun...

你可能感兴趣的:(mysql只能有一列是timestamp的问题)