欢迎投稿

今日深度:

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
 

www.htsjk.Com true http://www.htsjk.com/Mysql/14155.html NewsArticle MySQL中不能创建自增字段的解决方法,mysql字段 原因分析: 引起MySQL不能创建自动增加的字段的原因是在MySQL5.0.2版本中的The Server SQL Mode 中新加了几种 sql_mode,并且在sql的my.ini文件中的...
评论暂时关闭