具體原因:
引起的原因是在MySQL5.0.2版本中的The Server SQL Mode 中新加了幾種 sql_mode,並且在sql的my.ini文件中的sql-mode 默認增加了其中的二種,一個是STRICT_TRANS_TABLES,就是導致auto_increament失敗的mode,這個sql_mode主要用於 當一個值不能插入到表中是,則產生一個錯誤而不是一個警告並終止會話。
解決辦法:
刪除這個sql_mode.重啟mysql.
將my.ini中的:
# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
改為:
# Set the SQL mode to strict
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"