sql >> データベース >  >> RDS >> Mysql

MySQL ONUPDATECURRENT_TIMESTAMPが更新されない

    更新時にそのフィールドにnullを使用しようとしましたか?

    デフォルト値をCURRENT_TIMESTAMPに設定することもできます 、0000-00-00 00:00:00ではなく 。

    それでも、作成と更新の時間を確保したいときは、常に次のものを使用します。

    ...
    CREATED timestamp NOT NULL default '0000-00-00 00:00:00',
    UPDATED timestamp NOT NULL default now() on update now(),
    ....
    

    now()を使用しています 、はCURRENT_TIMESTAMPのエイリアスであるため そしてそれはより短いです。最後に、テーブル構造はCURRENT_TIMESTAMPを取得します 、心配しないでください。

    CREATEDのトリック フィールドは、INSERTの両方のフィールドでnullを使用することを忘れないでください ステートメント、UPDATE 必須ではないステートメント:

    INSERT INTO mytable (field1, field2, created, updated)
    VALUES ('foo', 'bar', null, null);
    


    1. Oracle-ORA-01489:文字列連結の結果が長すぎます

    2. PHPを使用したMySQLインジェクション保護と脆弱性の兆候

    3. PHPMySqlを使用して秒なしで私のデータベースから日付を選択します

    4. 全文検索エンジンの比較-Lucene、Sphinx、Postgresql、MySQL?