mysql自增字段重排 或 归零】的更多相关文章

由于删除了某些记录行,所以自增字段不连续了.重排或归零的方法:方法1:truncate table 你的表名//这样不但重新定位自增的字段,而且会将表里的数据全部删除,慎用!方法2:delete from 你的表名dbcc checkident(你的表名,reseed,0) //重新定位自增的字段,让它从1开始方法3:如果你要保存你的数据,介绍你第三种方法,by QINYI用phpmyadmin导出数据库,你在里面会有发现哦编辑sql文件,将其中的自增下一个id号改好,再导入.方法4:MyISA…
修改mysql自增字段的方法 修改 test_user 库 user 表 auto_increment为 10000(从10000开始递增) <pre>mysql> alter table test_user.user auto_increment=10000;Query OK, 0 rows affected (0.12 sec)Records: 0 Duplicates: 0 Warnings: 0 //查看递增mysql> select auto_increment from…
由于删除了某些记录行,导致自增字段不连续了,重排或归零的方法: 方法1:truncate table 你的表名//这样不但重新定位自增的字段,而且会将表里的数据全部删除,慎用! 方法2:delete from 你的表名dbcc checkident(你的表名,reseed,0) //重新定位自增的字段,让它从1开始 方法3:如果你要保存数据,用phpmyadmin导出数据库,编辑sql文件,将其中的自增下一个id号改好,再导入. 方法4:MyISAM数据表可用alter table table_…
<insert id="insertPerson" parameterClass="person"> <!-- MySQL数据库自增字段的控制 --> <selectKey resultClass="int" keyProperty="id"> SELECT LAST_INSERT_ID(); </selectKey> <!-- oracle数据库自增字段的控制 -->…
1 前言 本文来自回答思否网友的一个问题,这个网友新建了一张表,auto_increment_increment设为10,AUTO_INCREMENT主键起始值设为9, 当他插入数据的时候,发现主键值是从11开始的,所以产生了疑惑.这篇文章一起来讨论一下自增字段问题. 2 自增字段计算方式 自增字段取值和auto_increment_increment参数和auto_increment_offset参数有关,auto_increment_offset参数设置的是自增字段偏移值,也就是计算起始值,…
最近遇到mysql字段的自增问题,需要临时处理一下,然后就顺便补补课,这样就有了这样一篇文章. 1.自增值是什么 他是一个字段属性,是用来创建唯一标识的列的 The AUTO_INCREMENT attribute can be used to generate a unique identity for new rows: Shell CREATE TABLE animals ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT N…
1.关键字 auto_increment 2.自增用法 例: CREATE TABLE animals ( id mediumint not null auto_increment, name char(30) not null, primary key (id)); 3.关于自增 Q:怎么获得当前的自增的最大值? Q:怎么获得table的当前自增最大值? A:select @@identity A:select max(id) from table Q:对自增的理解? A: 一般情况下获取刚插…
MySQL自增字段,自增字段计数器在主存储里面,不在硬盘上(This counter is stored only in main memory, not on disk). 1,添加表,设立自增主键字段 create table t(id int primary key auto_increment, name varchar(3000)) engine=innodb; 2,可以让系统自增,也可以自己手动设置输入自增. insert into t select 4, 'a44'; insert…
不带外键模式的 mysql 自增主键字段重排 1.备份表结构 create table table_bak like table_name; 2.备份表数据 insert into table_bak select * from table_name; 3.删除原来主键字段(如id) alter table table_name drop id; 4.添加主键,自增,放在第一位 alter table table_name add id int(11) primary key auto_incr…
最近老是要为现在这个项目初始化数据,搞的很头疼,而且数据库的Id自增越来越大,要让自增重新从1开始:那么就用下面的方法吧:方法一: 如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数 truncate table 表名 方法二: dbcc checkident (’table_name’, reseed, new_reseed_value) 当前值设置为 new_reseed_value.如果自创建表后没有将行插入该表,则在执行 DBCC CHECKIDENT 后插入…
Mysql中自增字段(AUTO_INCREMENT)的一些常识: http://chengxuyuan.naxieshir.com/fenlei/2/p/151.html…
mysql 出现Duplicate entry 'xxx' for key 'PRIMARY',一个自增字段达到了上限,…
回到目录 如果在mysql中添加了自增字段,用来维护行的版本,那么在EF中会有一个问题,会把它当成是数据表主键,当你的真正主键是自曾时,就会把默认值0拼到生成的SQL语句里,导致你的insert出错,这是那个原因! 我们需要把它注释掉,担注释后,又有新的问题出来了 这种问题也很无厘头! 这种问题是因为你的MySQL数据库里的CreateDate字段没有把时间戳去掉,应该先把它去了就可以了! 再次运行程序,问题解决! 回到目录…
方法一: 如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数 truncate table 表名 方法二: DBCC CHECKIDENT (''table_name'', RESEED, new_reseed_value) 当前值设置为   new_reseed_value. 如果自创建表后没有将行插入该表,则在执行 DBCC   CHECKIDENT   后插入的第一行将使用   new_reseed_value   作为标识. 否则,下一个插入的行将使用   n…
今天发现 批量插入下,自增主键不连续了....... InnoDB AUTO_INCREMENT Lock Modes This section describes the behavior of AUTO_INCREMENT lock modes used to generate auto-increment values, and how each lock mode affects replication. Auto-increment lock modes are configured…
创建一张表 t20 mysql) ); Query OK, rows affected (0.01 sec) mysql> desc t20; +-------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+----------------+ ) | NO |…
对于刚从Oracle转向MySql的人都会为,MySql中没有Oracle里的Sequence而感到困惑.MySql中没有了Sequence,那么MySql的主键用什么方式来实现最好呢? 主要有下面几种方式: 1.自增字段作为主键. [推荐方案] MySql尽管比Oracle少了Sequence,可是多了字段的自增长特性. 插入完了以后能够通过运行[SELECT @@IDENTITY]获取上一条插入语句中生成的自增长字段的值. 这个语句非常特别,没有关联到特定的SQL语句,会 让人感觉迷糊,他究…
1.MySQL每张表只能有1个自增字段,这个自增字段即可作为主键,也可用作非主键使用,但是请注意将自增字段当做非主键使用时必须为其添加唯一索引,否则系统将会报错 )将自动增长字段设置为主键 CREATE TABLE t1 ( id INT auto_increment PRIMARY KEY, sid INT ); )将自动增长字段设置为非主键 CREATE TABLE t2 ( sid INT PRIMARY KEY, id INT auto_increment UNIQUE ); )将自动增…
mysql 的自增字段只能是主键,如果原表已经有主键,需要设置自增字段应该怎么做呢? 1.alter table bu_staff  drop primary key;  先删除表的主键  id为原表主键 2.alter table bu_staff  add primary key (face_id,id);  增加face_id为第一主键 3.alter table bu_staff  modify face_id int(11)  auto_increment;给face_id 增加aut…
原来有一个字段id,为自增,主键,索引.现在要新增一个字段s_id为自增,主键,索引.同时把原来的主字段改成普通字段,默认值为0. Alter table e_diamond_jhds change s_id s_id int(10) UNSIGNED NOT NULL DEFAULT 0;  //去除原来字段的自增属性,不然无法删除这个主键Alter table e_diamond_jhds drop primary key;  //删除主键drop index s_id on e_diamo…
现有数据表xiami,建表的时候忘记添加自增字段,现需要添加自增字段 第一步:添加字段 alter table xiami add id int; 第二步:修改字段 alter tabel xiami change id id auto_increment not null primary key; 问题: 表中记录数量为3929966条 Query OK, rows affected ( min 8.09 sec) Records: Duplicates: Warnings: 查看创建表命令时…
MySQL数据库自增主键归零的几种方法 如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数: truncate table table_name; 1 当用户没有truncate的权限时且曾经的数据不需要时: 删除原有主键: ALTER TABLE 'table_name' DROP 'id'; 1 添加新主键: ALTER TABLE 'table_name' ADD 'id' int(11) NOT NULL FIRST; 1 设置新主键: ALTER TABLE…
在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法. 通常的设置自增字段的方法: 创建表格时添加: create table table1(id int auto_increment primary key,...) 创建表格后添加: alter table table1 add id int auto_increment primary key 自增字段 一定要设置为primary ke…
MYSQL的分区字段,必须包含在主键字段内   MYSQL的分区字段,必须包含在主键字段内 在对表进行分区时,如果分区字段没有包含在主键字段内,如表A的主键为ID,分区字段为createtime ,按时间范围分区,代码如下: CREATE TABLE T1 ( id ) NOT NULL AUTO_INCREMENT, createtime datetime NOT NULL, PRIMARY KEY (id) ) ENGINE DEFAULT CHARSET=utf8 PARTITION BY…
大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的.oh,no 我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列 create table t ( id   number generated by default as identity (start with 1 increment by 1), name    varchar2(20), password varchar2(20), Constraint Pk_…
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类下面写好多方法,要是多个数据库,就要写多个类多个方法,导致代码编写太过于繁琐,所以为了改变这样的繁琐,我将连接数据库的方法进行了一系列的封装,使用户传入一个对象值Object就可以得到想要的. 我在之前写过一篇普通的Java连接MySQL数据库,大家可以看看,以便对比参考之后就知道差距了  数据库-…
  MySQL的自增列(AUTO_INCREMENT)和其它数据库的自增列对比,有很多特性和不同点(甚至不同存储引擎.不同版本也有一些不同的特性),让人感觉有点稍微复杂.下面我们从一些测试开始,来认识.了解一下这方面的特殊知识点:   自增列持久化问题 如果一个表拥有自增列,当前最大自增列值为9, 删除了自增列6.7.8.9的记录,重启MySQL服务后,再往表里面插入数据,自增列的值为6还是10呢?  如果表的存储引擎为MyISAM呢,又会是什么情况? 下面实验环境为MySQL 5.7.21 m…
要对mysql进行操作,我们需要安装一个mysql的库. 一.安装mysql库 npm install mysql --save 二.对mysql进行简单查询操作 const mysql = require('mysql'); //创建数据库连接 let conn = mysql.createConnection({ //主机地址 host: '127.0.0.1', //用户名 user: 'root', //密码 password: '123456', //数据库 database: 'te…
MySQL数据库(增删改查语句)一.登录数据库:---->  mysql -uroot -proot;(对应用户名和密码)二.SQL语句:    数据定义语言DDL  用来定义数据库.表.列,关键字为 create.alter.drop    数据操作语言DML  用来进行数据库更新的操作,关键字为 insert.delete.update    数据控制语言DCL  用来定义数据库的访问权限,安全级别的.    数据查询语言DQL  用来查询数据库中表的记录,关键字为select.from.w…
起因: 线上 user 数据库没有自增字段,数据量已经达到百万级.无论是给离线仓库还是数据分析同步数据,没有主键自增 id 都是杀手级的困难.所以在使用 create_time 痛苦了几次之后准备彻底来解决这个问题. 解决问题的思路: 当时理了两个思路,一个是直接找个夜生人静的夜晚,drop 掉目前的 primary key .然后再 add 一个 id 字段做 primary key auto increament .我觉得这个方法对于 100w 以下的数据表是一个不错的方法,首先简单,其次找…