メメメモモ

プログラミング、筋トレ、ゲーム、etc

MySQLのダンプデータに書いてあった「SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"」について

これが書いてあるか書いてないかで、ダンプした後のAUTO_INCREMENTのカラムの挙動が変わるらしい。

たとえば、mysqldump コマンドでテーブルにダンプして、リロードする場合に、MySQL は, 0 という値に遭遇すると、新たなシーケンスン番号を生成し、テーブルにダンプしたものとは異なる内容になるという結果を生む。ダンプ ファイルをリロードする前に NO_AUTO_VALUE_ON_ZERO を有効にすると、この問題を回避できる。

http://dev.mysql.com/doc/refman/5.1/ja/server-sql-mode.html:title=MySQL :: MySQL 5.1 リファレンスマニュアル :: 4.2.6 SQL モード