3

MySqlの最新バージョンを使用しており、日時列(created_at、updated_at)のデフォルト値としてcurtime()、now()、またはcurrent_timestampを使用するようにテーブルを変更しようとしました。3つすべてについて、変更は失敗し、これらは無効なデフォルト値であると述べました。日時フィールドに現在の時刻を生成するための適切なデフォルト値は何ですか?

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_atcreated_atTIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

テーブルmusic_library_developmentの変更updated_atupdated_atTIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

于 2009-08-27T11:25:45.777 に答える