mysql 主键

问题描述

表中有有一些数据,主键是自动增长的,现在是从10开始的自动增长,但我想从1开始请问怎样才能使id从1开始呢,(不直接手动修改数据库数据,而是通过sql语句) 问题补充:qinglangee 写道

解决方案

这样??update table_name set id=id-9;
解决方案二:
alter table table_name AUTO_INCREMENT=1

时间: 2024-09-20 14:58:37

mysql 主键的相关文章

MySQL主键设计

原文:MySQL主键设计 [TOC] 在项目过程中遇到一个看似极为基础的问题,但是在深入思考后还是引出了不少问题,觉得有必要把这一学习过程进行记录. MySQL主键设计原则 MySQL主键应当是对用户没有意义的. MySQL主键应该是单列的,以便提高连接和筛选操作的效率 永远也不要更新MySQL主键 MySQL主键不应包含动态变化的数据,如时间戳.创建时间列.修改时间列等 MySQL主键应当有计算机自动生成. 主键设计的常用方案 自增ID 优点: 1.数据库自动编号,速度快,而且是增量增长,聚集

mysql插入操作-MySQL主键字段自增长的插入

问题描述 MySQL主键字段自增长的插入 在插入记录时,主键的自增长序号不连续是什么原因?有人说是什么事物回滚? 解决方案 数据回滚式插入失败,造成该立键已用,相应跳过了. 解决方案二: 是不是有出现插入失败等 这样就会导致对应主键值不连续 解决方案三: 事务回滚就是你给对方打钱,你的钱数已经被扣了,但这时ATM突然坏了,对方没有收到钱,你的钱肯定不能飞了吧,它就只好回到打钱之前的状态.你描述的问题有可能是回滚引起的,建议再查查.

mysql主键的缺少导致备库hang住_Mysql

最近线上频繁的出现slave延时的情况,经排查发现为用户在删除数据的时候,由于表主键的主键的缺少,同时删除条件没有索引,或或者删除的条件过滤性极差,导致slave出现hang住,严重的影响了生产环境的稳定性,也希望通过这篇博客,来加深主键在innodb引擎中的重要性,希望用户在使用RDS,设计自己的表的时候,一定要为表加上主键,主键可以认为是innodb存储引擎的生命,下面我们就来分析一下这个案例(本案例的生产环境的binlog为row模式,对于myisam存储引擎也有同样的问题):(1).现象

mysql 主键 在别的表里面当外键 不允许重复

问题描述 mysql 主键 在别的表里面当外键 不允许重复 在mysql数据库里面,有三张表,如下: student(no,name,class)no是主键, activity(name,time,place)name是主键, select(id,no,name)no,name是外键且分别对应表student和activity 问题:表select输入数据(1,"000'',"排球"):(2,"001'',"看书"):没问题 再输入数据(3,&q

java-hibernate如何配置mysql主键生成策略?

问题描述 hibernate如何配置mysql主键生成策略? 在之前的使用过程中,是用的oracle,只需要用注解的方式在主键上加@GeneratedValue,新增操作时,就可以自动生成主键了. 但是现在这个项目转为用mysql,用@GeneratedValue就会报"java.sql.SQLException: Field '***' doesn't have a default value" @Id @GeneratedValue @Column(name = "rol

mysql主键的缺少导致备库hang

最近线上频繁的出现slave延时的情况,经排查发现为用户在删除数据的时候,由于表主键的主键的缺少,同时删除条件没有索引,或或者删除的条件过滤性极差,导致slave出现hang住,严重的影响了生产环境的稳定性,也希望通过这篇博客,来加深主键在innodb引擎中的重要性,希望用户在使用RDS,设计自己的表的时候,一定要为表加上主键,主键可以认为是innodb存储引擎的生命,下面我们就来分析一下这个案例(本案例的生产环境的binlog为row模式,对于myisam存储引擎也有同样的问题): (1).现

Oracle与Mysql主键、索引及分页的区别小结_oracle

区别: 1.主键,Oracle不可以实现自增,mysql可以实现自增. oracle新建序列,SEQ_USER_Id.nextval 2.索引: mysql索引从0开始,Oracle从1开始. 3.分页, mysql: select * from user order by desc limit n ,m. 表示,从第n条数据开始查找,一共查找m条数据. Oracle:select * from user select rownum a * from ((select * from user)a

论 mysql 主键

什么是主键: 表中经常有一个列或列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键.一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值.由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列. 作用: 1)保证实体的完整性; 2)加快数据库的操作速度 3) 在表中添加新记录时,mysql会自动检查新记录的主键值,不允许

MongoDB实现mysql主键autoincrement

MongoDB新建表默认有一个_id字段来作为autoincrement自增实现,而这个_id字段类型是objectid类型(objectid 是12字节的BSON类型).ObjectId的详细解释. 而现在因为数据库迁移,将项目中原mysql的一些locations表移植到mongodb上面.对于locations 使用mongodb 2d loc 索引能够更快的进行数据检索,同时避免原mysql需要经过复杂的经纬度查询. 那么数据迁移后主要的要求有 1.数据库表的迁移不会影响表与表之间的关系

mysql主键varchar(255)报错

varchar定义的长度的单位是字符. utf8mb4 字符集下, 一些特殊字符会占用 4 个字节, 你设置长度 255, 则占用字节为 255 * 4 = 1020 byte 而mysql 的主键最大长度貌似不能超过 767 byte 1.限制规则 字段的限制在字段定义的时候有以下规则: a) 存储限制 varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535. b) 编码长度限制 字符类型若为g