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"

时间: 2024-11-03 22:11:03

MySQL中不能创建自增字段的解决方法_Mysql的相关文章

mysql中Load Data记录换行问题的解决方法_Mysql

问题是这样的: 表persons有两个字段: id和name文本文档persons.txt中内容(其中每行字段之间用tab分割):1    Bush2    Carter3    Bush 在mysql命令行下使用 load data local infile "persons.txt" into table persons 导入数据到persons表中. 导入后查看persons表的数据,与persons.txt的内容一致.但是使用语句select distinct name fro

MySQL中使用SQL语句对字段进行重命名_Mysql

MySQL中,如何使用SQL语句来对表中某一个字段进行重命名呢?我们将使用alter table 这一SQL语句. 重命名字段的语法为:alter table <表名> change <字段名> <字段新名称> <字段的类型>. 现在我们来尝试把test表中的t_name字段重命名为t_name_new字段. 1.首先查看一下当前test表的结构 mysql> describe test; +------------+-------------+---

Mysql中 show table status 获取表信息的方法_Mysql

使用方法 mysql>show table status; mysql>show table status like 'esf_seller_history'\G; mysql>show table status like 'esf_%'\G; 样例: mysql>show table status like 'esf_seller_history'\G; 1.Name 表名称 2.Engine: 表的存储引擎 3.Version: 版本 4.Row_format 行格式.对于My

Mysql中 unique列插入重复值该怎么解决呢_Mysql

当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT.中断操作或者更新旧记录为新值. mysql> create table menus(id tinyint(4) not null auto_increment, -> label varchar(10) null,url varchar(20) null,unique key(id)); Query

浅谈mysql中多表不关联查询的实现方法_Mysql

大家在使用MySQL查询时正常是直接一个表的查询,要不然也就是多表的关联查询,使用到了左联结(left join).右联结(right join).内联结(inner join).外联结(outer join).这种都是两个表之间有一定关联,也就是我们常常说的有一个外键对应关系,可以使用到 a.id = b.aId这种语句去写的关系了.这种是大家常常使用的,可是有时候我们会需要去同时查询两个或者是多个表的时候,这些表又是没有互相关联的,比如要查user表和user_history表中的某一些数据

MySQL 出现错误1418 的原因分析及解决方法_Mysql

MySQL 出现错误1418 的原因分析及解决方法 具体错误:  使用mysql创建.调用存储过程,函数以及触发器的时候会有错误符号为1418错误. ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its declaration and binary logging is enabled(you *might* want to use the less safe lo

MySQL修改my.cnf配置不生效的解决方法_Mysql

本文实例讲述了MySQL修改my.cnf配置不生效的解决方法.分享给大家供大家参考,具体如下: 一.问题: 修改了 my.cnf 配置文件后,却不生效,这是怎么回事? 二.原因: 我们注意到,这里只说了修改 my.cnf,并没有说清楚其绝对路径是哪个文件.也就是说,有可能修改的不是正确路径下的my.cnf文件. 在MySQL中,是允许存在多个 my.cnf 配置文件的,有的能对整个系统环境产生影响,例如:/etc/my.cnf.有的则只能影响个别用户,例如:~/.my.cnf. MySQL读取各

MySql中表单输入数据出现中文乱码的解决方法_Mysql

 MySQL会出现中文乱码的原因在于 1.server本身设定问题,一般来说是latin1 2.建库建表时没有制定编码格式. MySql中表单输入数据出现中文乱码的解决方法: 1.建库的时候 CREATE DATABASE test CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 2.建表的时候 CREATE TABLE content ( text VARCHAR(100) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

大幅提升MySQL中InnoDB的全表扫描速度的方法_Mysql

 在 InnoDB中更加快速的全表扫描 一般来讲,大多数应用查询的时候都会用索引,查找很少的几行数据(主键查找或百行内的查询),但有时候我们需要全表查询.典型的全表扫描就是逻辑备份  (mysqldump) 和 online schema changes( 注:在线上对大表 schema 的操作,也是 facebook 的一个开源项目) (SELECT ... INTO OUTFILE).  在 Facebook我们用 mysqldump 来备份数据库. 正如你所知MySql提供两种备份方式,提