3

我正在使用最新版本的 MySql,并尝试更改表以使用 curtime() 或 now() 或 current_timestamp 作为日期时间列(created_at、updated_at)的默认值。对于这三个,alter 都失败了,说这些是无效的默认值。任何想法在日期时间字段中生成当前时间的适当默认值是什么?

ALTER TABLE `music_library_development`.`albums` 
MODIFY COLUMN `created_at` DATETIME NOT NULL DEFAULT current_timestamp,
MODIFY COLUMN `updated_at` DATETIME NOT NULL DEFAULT current_timestamp;

ALTER TABLE `music_library_development`.`albums` 
MODIFY COLUMN `created_at` DATETIME NOT NULL DEFAULT now(),
MODIFY COLUMN `updated_at` DATETIME NOT NULL DEFAULT now();

ALTER TABLE `music_library_development`.`albums` 
MODIFY COLUMN `created_at` DATETIME NOT NULL DEFAULT curtime(),
MODIFY COLUMN `updated_at` DATETIME NOT NULL DEFAULT curtime();
4

2 回答 2

1

尝试使用TIMESTAMP列类型:

MODIFY COLUMN `updated_at` TIMESTAMP NOT NULL DEFAULT current_timestamp;
于 2009-05-09T04:02:32.217 回答
0

更改表 music_library_development 更改 created_at created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

更改表 music_library_development 更改 updated_at updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

于 2009-08-27T11:25:45.777 回答