解决MySQL 5.0不能使用自动增加字段问题

问题:MySQL 5.0不能使用自动增加字段。

具体原因:

引起的原因是在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"

时间: 2024-11-03 14:57:32

解决MySQL 5.0不能使用自动增加字段问题的相关文章

怎样解决MySQL 5.0.16的乱码问题

问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin Language:Chinese simplified (zh-utf-8) MySQL 字符集:UTF-8 Unicode (utf8) MySQL 连接校对 gbk_chinese_ci 2.创建数据库时 整理设置成 gbk_chinese_ci 3.用SQL建立表中 ENGINE=MyISAM DEFAULT CHARSET=gbk; ENGINE=

怎样才能解决MySQL 5.0.16的乱码问题

问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin Language:Chinese simplified (zh-utf-8) MySQL 字符集:UTF-8 Unicode (utf8) MySQL 连接校对 gbk_chinese_ci 2.创建数据库时 整理设置成 gbk_chinese_ci 3.用SQL建立表中 ENGINE=MyISAM DEFAULT CHARSET=gbk; ENGINE=

MySQL 5.0.16乱码问题的解决方法

问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1 设置phpMyAdmin Language:Chinese simplified (zh-utf-8) MySQL 字符集:UTF-8 Unicode (utf8) MySQL 连接校对 gbk_chinese_ci 2 创建数据库时 整理设置成 gbk_chinese_ci 3 用SQL建立表中 ENGINE=MyISAM DEFAULT CHARSET=gbk; ENGINE=

MySQL 5.0.16乱码问题的解决方法_Mysql

怎样解决MySQL 5 0 16的乱码问题? 本文给出了解决方法:问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决:1.设置phpMyAdmin Language:Chinese simplified (zh-utf-8) MySQL 字符集:UTF-8 Unicode (utf8) MySQL 连接校对 gbk_chinese_ci2.创建数据库时 整理设置成 gbk_chinese_ci 3.用SQL建立表中 ENGINE=MyIS

MySQL 4.0升级到5.0

由于需要,从4.0直接升级到5.0,查看了一下changelog,发现主要有以下变化: 一.从 4.0 到 4.1 的主要变化 如果在4.1.0到4.1.3版本的MySQL中创建了包含 TIMESTAMP 字段的 InnoDB 表.则在升级到4.1.4及更高时需要重建表,因为存储格式发生变化了 字符串根据标准SQL来比较:比 较之前不删除末尾的空格,以前用末尾空格扩展了比较短的字符串.现在的结果是 'a' > 'a\t',以前则不这样.可以用 mysqlcheck 来检查一下数据表 TIMEST

MySQL数据库在指定位置增加字段

  MySQL数据库在指定位置增加字段: 本身属于MySQL的基本语法,这里给出一个例子. mysql> -- 测试数据库在指定位置增加字段 mysql> drop table if exists t; Query OK, 0 rows affected (0.06 sec) mysql> create table t(age int,address varchar(50)); Query OK, 0 rows affected (0.06 sec) mysql> desc t;

MySQL 5.0.16的乱码问题解决方法

问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin Language:Chinese simplified (zh-utf-8) MySQL 字符集:UTF-8 Unicode (utf8) MySQL 连接校对 gbk_chinese_ci 2.创建数据库时 整理设置成 gbk_chinese_ci 3.用SQL建立表中 ENGINE=MyISAM DEFAULT CHARSET=gbk; ENGINE=

如何定义自动编号字段的初始值和步进值?

问题: 如何定义自动编号字段的初始值和步进值?如何定义自动增加字段的初始值和步进值?如何使删除过数据的自动增加字段的开始值重新从1开始? 回答: 通过以下语句,你可以在建表的时候指定其起始值和步进值:CREATE TABLE tblNewOrder2 ( OrderId AUTOINCREMENT (1000, 10), ItemId LONG, Quantity LONG) 你也可以用下面的语句修改下一个起始值和步进值:ALTER TABLE tblOrder ALTER COLUMN Ord

数据库在指定位置增加字段

数据库教程在指定位置增加字段 mysql教程> -- 数据库在指定位置增加字段 mysql> drop table if exists t; Query OK, 0 rows affected (0.06 sec) mysql> create table t(age int,address varchar(50)); Query OK, 0 rows affected (0.06 sec) mysql> desc t; +---------+-------------+------