MySQLのテーブルに登録日時と更新日時を自動で設定する方法
MySQL5.6.5以降では、インサート時に登録日時やアップデート時に更新日時を自動で設定することができます。
DATETIME型とTIMESTAMP型に値を設定することができます。
CREATE TABLE datesample ( name VARCHAR(45), times TIMESTAMP DEFAULT CURRENT_TIMESTAMP, datet DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
DEFAULT CURRENT_TIMESTAMP
とすることで、インサート時にタイムスタンプが設定されます。
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
とすることで、インサート時にタイムスタンプを設定し、アップデート時に更新日時も設定されるようになります。
insert into datesample values ()
インサートするとレコードが作成されます。インサート時は登録日時と更新日時は同じになります。
name | times | datet |
---|---|---|
null | 01/08/10 14:49:48 | 01/08/10 14:49:48 |
nameを更新します。
update datesample set name = 'a'
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
としているカラムのみアップデートされていることがわかります。
name | times | datet |
---|---|---|
a | 01/08/10 14:49:48 | 01/08/10 14:54:32 |
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント