我正在使用最新版本的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();发布于 2009-05-09 04:02:32
尝试使用TIMESTAMP列类型:
MODIFY COLUMN `updated_at` TIMESTAMP NOT NULL DEFAULT current_timestamp;发布于 2009-08-27 11:25:46
alter table music_library_development change created_at created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
alter table music_library_development change updated_at updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
https://stackoverflow.com/questions/842617
复制相似问题