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

INSERT IGNOREは、レコードが追加されていなくても自動インクリメントカウンターを増やしますか?

    INSERTのマニュアルページ からの引用 :

    INSERT IGNORE 構文は、特定のエラーメッセージを抑制するための単なる方法であり、これらのエラーが発生する可能性があることを認識している場合や、後の段階でそれらを処理したい場合に役立ちます。キーに違反したために失敗することを除いて、舞台裏ではまだ通常の挿入があります。 MySQLは挿入を行うために実際の行の値を必要とし、AUTO_INCREMENTカウンターは通常のルール

    1. 列の値はNULLです。
    2. 列の値が設定されていません。
    3. 列の値がカウンターよりも大きい。

    したがって、ロジックを再考できない限り(たとえば、挿入を行う前にキー値が存在するかどうかをテストする)、リセットする唯一の方法です。 カウンターは ALTERTABLE です。 :

    ALTER TABLE t2 AUTO_INCREMENT = value;
    



    1. CSVインポート操作の一部として、単一のステップでテーブルを作成してデータを設定するにはどうすればよいですか?

    2. sqlalchemy-migrateを使用して列タイプを文字変化から整数に変更する方法

    3. Django日時フィールド-ビューでタイムゾーンに変換

    4. MySQLのデータファイルのロードでアクセスが拒否されました