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
随机推荐
- Bootstrap Tooltip显示换行和左对齐的解决方案
- python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
- js操作ajax返回的json的注意问题!
- 微信小程序 实现动态显示和隐藏某个控件
- php实现的二分查找算法示例
- Zend Framework入门教程之Zend_Mail用法示例
- chr(9)、chr(10)、chr(13)、chr(32)、chr(34)讲解
- IOS获取系统相册中照片的示例代码
- Spring使用支付宝扫码支付
- PowerShell生成随机密码的方法
- Auto Autorun.inf desktop.ini sxs.exe auto.exe类病毒的手动处理完全技巧
- python list使用示例 list中找连续的数字
- 详解SpringMVC加载配置Properties文件的几种方式
- Linux管理员手册(1)--系统概述
- Nginx Location 指令简明指南
- Android 布局文件Layout XML属性
- 动易开源PowerEasy® SiteWeaver™ 6.5系列产品发布免费下载了 原创
- 基于JDK8总结java中的interrupt
- Spring FTP上传下载工具类遇到问题小结
- Android仿京东手机端类别页