mysqlドキュメントから
と の両方を使用するDEFAULT CURRENT_TIMESTAMPとON UPDATE CURRENT_TIMESTAMP、列にはデフォルト値の現在のタイムスタンプがあり、現在のタイムスタンプに自動的に更新されます。
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
どちらDEFAULT CURRENT_TIMESTAMPでもない場合は、 と の両方をON UPDATE CURRENT_TIMESTAMP指定するのと同じです。DEFAULT CURRENT_TIMESTAMPON UPDATE CURRENT_TIMESTAMP
CREATE TABLE t1 (
ts TIMESTAMP
);
句があるDEFAULTが句がないON UPDATE CURRENT_TIMESTAMP場合、列には指定されたデフォルト値があり、現在のタイムスタンプに自動的に更新されません。
デフォルトは、DEFAULT句が指定するCURRENT_TIMESTAMPか定数値を指定するかによって異なります。ではCURRENT_TIMESTAMP、デフォルトは現在のタイムスタンプです。
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);