程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL中不能創建自增字段的解決方法,mysql字段

MySQL中不能創建自增字段的解決方法,mysql字段

編輯:MySQL綜合教程

MySQL中不能創建自增字段的解決方法,mysql字段


原因分析:

  引起MySQL不能創建自動增加的字段的原因是在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[separator]

  #sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

  sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"


mysql中怎不重建表更改自增字段的起始值?

如果是使用MyISAM引擎的表,可以有兩種方式來設置表中自增字段的起始值,無需重建表。可以在mysql使用手冊中查找下 alter table,然後查找 auto_increment 就可以看到手冊中有關於自增id字段的起始值設定的方法:For MyISAM tables, you can set the first sequence number by executing SET INSERT_ID=value before ALTER TABLE or by using the AUTO_INCREMENT=value table option.意思是:如果是使用MyISAM引擎的表,可以通過執行SQL: "SET INSERT_ID=value";或者使用 alter table 語句修改表結構,然後加上 AUTO_INCREMENT = value 選項來指定自增起始值。
 

在mysql中怎實現字段自增

CREATE TABLE test2 (id INT PRIMARY KEY AUTO_INCREMENT, cname VARCHAR(10));

這樣建立的id字段就是自增的,自增字段必須是int型,且要設為key
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved