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

MySQLに有効な自動インクリメント値として0を取得させる方法

    回答からここ :

    使用できるもの:

    SET [GLOBAL|SESSION] sql_mode='NO_AUTO_VALUE_ON_ZERO'
    

    ここで説明されているように 、MySQLがINSERT /UPDATEID0を次のシーケンスIDとして解釈するのを防ぎます。このような動作はNULLに制限されます。

    しかし、それは私がアプリケーションからかなり悪い振る舞いをすると思うものです。特に後日レプリケーションを実装することを選択した場合は、一貫して使用されるように細心の注意を払う必要があります。



    1. データベースが原因でアプリが動作を停止しました

    2. 重複する値を日付範囲で折りたたむSQLクエリ

    3. ログインをより安全にする

    4. デフォルトのCURDATE()を使用したMySQLDATEフィールド。日時ではない