MySQLで自動的に時間を設定する方法はどうやって実現できますか?

MySQLでは、CURRENT_TIMESTAMPまたはDEFAULT CURRENT_TIMESTAMPを使用して、時間を自動的に設定することができます。

例えば、テーブルを作成する際に、特定のフィールドのデフォルト値をCURRENT_TIMESTAMPに設定することで、データを挿入する際にそのフィールドの値が指定されていない場合、MySQLは自動的に現在の時刻をそのフィールドの値として挿入します。例を示します。

CREATE TABLE mytable (
    id INT PRIMARY KEY AUTO_INCREMENT,
    content VARCHAR(255),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

データを挿入する際、created_atフィールドの値を指定せずにcontentフィールドの値だけを指定することができます。

INSERT INTO mytable (content) VALUES ('Hello World');

したがって、created_atフィールドの値は現在の時間に自動的に設定されます。

データの更新時に自動的に時間を更新する必要がある場合は、ON UPDATE CURRENT_TIMESTAMPを使用してください。例を以下に示します:

CREATE TABLE mytable (
    id INT PRIMARY KEY AUTO_INCREMENT,
    content VARCHAR(255),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

データを更新する際、contentフィールドの値だけを更新すればよく、updated_atフィールドの値は更新する必要はありません。

UPDATE mytable SET content = 'Updated Content' WHERE id = 1;

このようにすることで、updated_atフィールドの値が自動的に現在時刻に更新されます。

bannerAds