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中不能创建自增字段的解决方法
原因分析: 引起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.i
-
mysql中Load Data记录换行问题的解决方法
问题是这样的: 表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中异常错误ERROR:2002的解决方法
最近在启动mysql 报错,错误提示如下: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 排查过程 1.先查看 /etc/rc.d/init.d/mysqld status 看看mysql是否已经启动. 另外看看是不是权限问题. 2.确定你的mysql.sock是不是在那个位置, mysql -u 你的mysql用户名 -p -S /va
-
MySQL中使用SQL语句对字段进行重命名
MySQL中,如何使用SQL语句来对表中某一个字段进行重命名呢?我们将使用alter table 这一SQL语句. 重命名字段的语法为:alter table <表名> change <字段名> <字段新名称> <字段的类型>. 现在我们来尝试把test表中的t_name字段重命名为t_name_new字段. 1.首先查看一下当前test表的结构 mysql> describe test; +------------+-------------+---
-
Mysql中 show table status 获取表信息的方法
使用方法 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列插入重复值该怎么解决呢
当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 设置自动创建时间及修改时间的方法.分享给大家供大家参考,具体如下: 第一种,通过ddl进行定义 CREATE TABLE `course` ( `course` varchar(255) DEFAULT NULL, `user` varchar(255) DEFAULT NULL, `score` int(11) DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, `create_time` datetime DEFA
-
MySQL中的distinct与group by比较使用方法
目录 distinct的使用 distinct用法 distinct 多列去重 group by的使用 单列去重 多列去重 区别示例 distinct和group by原理 隐式排序 先说大致的结论 : 在语义相同,有索引的情况下:group by和 distinct 都能使用索引,效率相同. 在语义相同,无索引的情况下:distinct 效率高于group by.原因是 distinct 和 group by都会进行分组操作,但group by可能会进行排序,触发 filesort,导致 sq
-
浅谈mysql中多表不关联查询的实现方法
大家在使用MySQL查询时正常是直接一个表的查询,要不然也就是多表的关联查询,使用到了左联结(left join).右联结(right join).内联结(inner join).外联结(outer join).这种都是两个表之间有一定关联,也就是我们常常说的有一个外键对应关系,可以使用到 a.id = b.aId这种语句去写的关系了.这种是大家常常使用的,可是有时候我们会需要去同时查询两个或者是多个表的时候,这些表又是没有互相关联的,比如要查user表和user_history表中的某一些数据
-
MySQL中union和order by同时使用的实现方法
MySQL中union和order by是可以一起使用的,但是在使用中需要注意一些小问题,下面通过例子来说明.首先看下面的t1表. 1.如果直接用如下sql语句是会报错:Incorrect usage of UNION and ORDER BY. SELECT * FROM t1 WHERE username LIKE 'l%' ORDER BY score ASC UNION SELECT * FROM t1 WHERE username LIKE '%m%' ORDER BY score A
随机推荐
- 详解AngularJs ui-router 路由的简单介绍
- jQuery快速实现商品数量加减的方法
- 基于Vue实现页面切换左右滑动效果
- 让iis记录nginx反向代理的真实ip
- js实现页面a向页面b传参的方法
- php提交表单发送邮件的方法
- php利用cookie实现自动登录的方法
- c#开发的程序安装时动态指定windows服务名称
- mysql数据迁移到Oracle的正确方法
- 解析Ubuntu下crontab命令的用法
- javascript 自定义事件初探
- JavaScript实现页面跳转的几种常用方式
- jquery点击展示与隐藏更多内容
- JavaScript 给汉字排序实例代码
- 详解Android获取系统内核版本的方法与实现代码
- 再探九酷网络个人主页空间管理系统
- 如何为CentOS 7配置静态IP地址的两种方法
- java实现菜单滑动效果
- C++文件上传、下载工具
- C++ 中RTTI的使用方法详解