mysql auto_increment 初始值从0开始
来源:互联网 发布:鑫舟软件 编辑:程序博客网 时间:2024/06/15 22:30
创建一张新表指定一个较大的自增值,想要写入id为0的记录该如何处理?
解决办法:
设置线程级别的参数"SET sql_mode= 'NO_AUTO_VALUE_ON_ZERO';"
root@test11:54:45>SETsql_mode='NO_AUTO_VALUE_ON_ZERO';
Query OK, 0rows affected (0.00 sec)
root@test11:58:23>insert into sg_app(id, a_class, app_name,gmt_create, gmt_modified) values(0, 'a_class', 'name', now(),now());
Query OK, 1row affected (0.12 sec)
root@test11:58:33>select * from sg_app;
+--------+---------+---------------------+---------------------+----------+
| id | a_class | gmt_create | gmt_modified | app_name |
+--------+---------+---------------------+---------------------+----------+
| 0 | a_class| 2011-12-14 23:58:33 | 2011-12-14 23:58:33 | name |
| 1 | a_class| 2011-12-14 23:54:36 | 2011-12-14 23:54:36 | name |
| 124069 |a_class | 2011-12-14 23:53:58 | 2011-12-14 23:53:58 | name |
+--------+---------+---------------------+---------------------+----------+
3 rows inset (0.00 sec)
root@test11:58:39>show create table sg_app\G
***************************1. row ***************************
CreateTable: CREATE TABLE `sg_app` (
)ENGINE=InnoDB AUTO_INCREMENT=124070 DEFAULT CHARSET=gbkCOMMENT='应用表'
1 row in set(0.00 sec)
原因分析:
mysql对于设置了自增属性auto_increment的字段自增值是从1开始的,写入0会被当做null值处理从而写入当前最大值的下一个值(即表定义中auto_increment的值);
如果需要修改自增值的起始位置可以通过"altertabletable_name AUTO_INCREMENT=xxxx;"进行修改,但是这个值必须比当前表内数据的最大值要大,否则会修改不生效;
如果需要将自增值从0而不是1开始,可以通过设置线程级别的参数"SET sql_mode= 'NO_AUTO_VALUE_ON_ZERO';"来实现
原文参考:
http://blog.csdn.net/nova_pegasus/article/details/6538984
0 0
- mysql auto_increment 初始值从0开始
- mysql auto_increment 初始值从0开始
- mysql 的AUTO_INCREMENT如何从0开始
- Mysql重置auto_increment初始值
- [Mysql]重置auto_increment初始值
- MYSQL中设置AUTO_INCREMENT从100开始
- 重置Mysql中auto_increment字段初始值
- mysql的auto_increment详解 默认从1开始递增
- mysql主键id重置,从1开始计数,初始值
- power designer里怎样指定auto_increment及初始值(mysql数据库)
- mysql从0开始
- MySQL AUTO_INCREMENT
- mysql AUTO_INCREMENT
- MySql: AUTO_INCREMENT
- mysql实现自增id AUTO_INCREMENT从设置。 从1开始, id整体调小,对自增id进行手动修改
- 从MySQL中获得数据表auto_increment值的方法
- 从MySQL中获得数据表auto_increment值(基数)的方法
- 从MySQL中获得数据表auto_increment值(基数)的方法
- App通过QQ/微信登录绑定用户信息的一般流程
- ListView设置setSelection无效的解决方案
- Java SE基础知识点总结(一)
- 计算机网络之路由协议详解
- mysql 主从复制
- mysql auto_increment 初始值从0开始
- Android中Material Desgin风格的Snackbar、TextInputLayout、FloatingActionButton使用
- TextView实现文本复制功能
- Python实战1_2:爬取商品信息
- 快慢指针学习
- 排序算法-归并排序
- Ext之IE8问题整理
- android面向接口编程(抽象工厂模式,扩展性超强,Demo优化)
- 日常小结-tomcat结构目录、web应用及虚拟目录的映射