-
2019-09-16 20:41:09
今天在写一个javaweb的Demo时遇到一个数据库问题:mysql设置主键自增时报错1833,原因是此主键是另一个表的外键,而外键是不可以设置自增的,所以想要设置自增,必须先将外键删除。 也就是说,**MySQL要先设置主键自增,然后再添加外键约束。**
更多相关内容 -
mysql设置主键自增
2021-11-04 14:52:411.mysql数据库给主键增加一个自增的功能: mysql> alter table sec_user modify id integer auto_increment ; Query OK, 1 row affected (0.28 sec) Records: 1 Duplicates: 0 Warnings: 0 2.java程序添加...1.mysql数据库给主键增加一个自增的功能:
mysql> alter table sec_user modify id integer auto_increment ;
Query OK, 1 row affected (0.28 sec)
Records: 1 Duplicates: 0 Warnings: 0
2.java程序添加相关注解
@Data @TableName("sec_user") public class UserDTO { private static final long serialVersionUID=1L; @TableId(value = "id", type = IdType.AUTO) private Long id; private String userName; private String sex; private String email; private String isDelete; }
这样,上面的user表里面的主键,id可以自增了。
3.如果想修改自增值的初始值,比如设为100,可执行以下操作:
(1)首先将id>=100的数据删除。否则不生效
(2)执行脚本
alter table `表名` AUTO_INCREMENT= 100执行成功后。则初始值生效
参考原文章:mysql中如何设置自增主键_MySQL中的主键以及设置其自增的用法教程_weixin_39761558的博客-CSDN博客
-
mysql 设置主键自增语句
2021-07-07 09:48:43mysql 设置主键自增语句 alter table 表名 modify id int auto_increment primary key 若提示 > 1068 - Multiple primary key defined 说明已经设置过主键了,去掉语句后面的 primary key即可。mysql 设置主键自增语句
alter table 表名 modify id int auto_increment primary key
若提示
> 1068 - Multiple primary key defined
说明已经设置过主键了,去掉语句后面的 primary key即可。 -
MySQL设置主键自增和非主键自增
2020-06-25 12:01:01MySQL 每张表只能有1个自动增长字段,这个自动增长字段即可作为主键,也可以用作非主键使用,但是请注意将自动增长字段当做非主键使用时必须必须为其添加唯一索引,否则系统将会报错。例如: – 将自动增长字段设置...MySQL 每张表只能有1个自动增长字段,这个自动增长字段即可作为主键,也可以用作非主键使用,但是请注意将自动增长字段当做非主键使用时必须必须为其添加唯一索引,否则系统将会报错。例如:
– 将自动增长字段设置为主键
create table t1 (id int auto_increment Primary key,sid int);
– 将自动增长字段设置为非主键,注意必须显式添加Unique键
create table t2 (sid int primary key,id int auto_increment Unique);
– 将自动增长字段设置为非主键如果未添加唯一索引将会报错,如下面语句
create table t3 (sid int primary key,id int auto_increment); -
mysql设置主键自增,删除部分数据,将主键顺序重新排序解决方案
2021-03-16 10:20:52原因:在进行数据的插入删除的时候,总会有以前创建的数据被删除的情况,但是删除后再添加,还是从当前id最大的值进行自增的,所以是这样下去可能时间长了就会超出范围 解决方案: 如果直接在数据库中进行操作,直接... -
Mysql 建表时设置主键自增
2021-12-02 15:27:44create table student( id INT primary key NOT NULL AUTO_INCREMENT, name nvarchar(10) )engine=innodb default charset=utf8 -
Mysql设置主键自增,删除数据后,主键id依然从删除位置增加
2021-04-19 12:56:47Mysql数据库添加主键后,删除数据,数据依然排序显示 提示:平常操作数据库时,我们对主键是不需要进行这个操作的...问题原因:Mysql数据库的主键是支持自增的 ,此时我们不断向数据库中插入数据,主键的值便会不断的自 -
mysql,navicat怎么设置主键自增
2021-01-18 22:59:29mysql,navicat怎么设置主键自增,关键字,主键,多个,定义,操作mysql,navicat怎么设置主键自增易采站长站,站长之家为您整理了mysql,navicat怎么设置主键自增的相关内容。Navicat是应用比较多的mysql的视图管理工具... -
Mysql中主键自增步长为2
2021-08-15 06:09:17查看配置 show variables like '%increment%'; 如果: auto_increment_increment=2 执行:set @@global.auto_increment_increment = 1; set @@auto_increment_increment =1; 再查看 ...auto_increment_offset=2 ... -
mysql表主键自增,高并发插入情况下会不会主键重复?mysql Innodb引擎主键自增是什么原理?
2021-02-03 01:31:27虽然我们习惯于给主键ID指定AUTO_INCREMENT属性,但是AUTO_INCREMENT也是可以指定到...MySql 5.1之前的实现在这个版本之前,用AUTO_INCREMENT修饰的数据列确实是严格连续自增的。MySql的实现是会针对每个插入语句加... -
mysql 主键自增
2021-09-06 16:29:35当前主键自增到33了。但下一条数据想让它主键为50,跳过中间的差值。我想当然的认为只要将当前的主键33改为50,那么它的最大主键就是50,之后插入数据就会接着50继续自增。但实际上新插入的数据仍然是接着33开始自增... -
mysql联合主键自增、主键最大长度小记
2021-04-20 06:24:49联合主键自增问题今天上午闲来无事翻看了下数据库分类表的设计,看到这样一幕:当时我好奇的是怎么cateId自增会存在重复值的问题,然后翻看了下主键是由siteId和cateId组成。所以进行了查阅资料:当多列组成联合... -
mysql设置非主键自增
2021-02-02 04:02:23@GeneratedValue(strategy = GenerationType.IDENTITY) 根据底层数据库自动选择方式,需要底层数据库的设置 如 MySQL,会使用自增字段,需要将主键设置成 auto_increment......(8,2) 中文含义 存款流水号 客户标识 银行... -
navicat怎么设置主键自增
2021-01-19 20:43:49mysql数据库创建一张表之后,为了有一个标识某一条记录,一般都会有一个唯一id,这个id可以设置为主键和自增的方式,这样在插入新的记录的时候,都会随着之前的id自动递增。为表设置主键和自增可以通过sql的方式,也... -
mysql 设置主键自增起始值
2019-04-16 10:51:51alter table users AUTO_INCREMENT=1; -
MySQL修改主键自增并添加初始值
2020-11-20 10:44:34ALTER TABLE `表名` AUTO_INCREMENT=某个数值; ALTER TABLE `表名` MODIFY 字段名 属性 AUTO_INCREMENT COMMENT 'XX'; -
MYSQL非主键字段设置自增
2022-05-08 16:53:11在MYSQL创建表时,设置了一个rank字段,作为序号,方便查找,但是不想用它做主键,只是单纯想要它自增。 按照下面语句创建表时始终报错: CREATE TABLE xyz ( rank INT AUTO_INCREMENT, tdate VARCHAR(20) PRIMARY ... -
mysql设置主键自增从1开始自增
2020-10-22 16:58:20ALTER TABLE exam_participant AUTO_INCREMENT = 1 ; -
mysql 创建表并设置主键自增
2021-02-07 07:50:40mysql 创建表并设置主键自增mysql 创建表:mysql> create table user(-> userid int(4) primary key not null auto_increment,-> username varchar(16) not null,-> userpassword varchar(32) not null-... -
Mysql关于主键自增后的插入语句编写
2022-03-14 17:11:18如果设置了id主键自增的话,编写插入语句不需要插入id值 那么mysql的语句就变为: insert into table_name (字段名,字段名) value(插入值,插入值); -
MySQL设置自增的主键
2022-01-10 07:53:011.如何设置自增的主键 很简单,只需要在主键后面添加AUTO_INCREMENT关键字就行了 CREATE TABLE `user`( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(10), `password` VARCHAR(20) ); 2.插入数据时指定... -
数据库 MySQL 如何设置表的主键自增起始值
2021-05-22 22:10:31将表 tf_user 的主键自增起始值为 2 truncate table `tf_user`; alter table tf_user AUTO_INCREMENT=2; 表已有数据,delete from 之后再设置 auto_increment,可行 delete from `tf_user`; alter table tf_user ... -
orcale数据库主键自增,及mysql主键自增
2021-08-18 16:09:15id number(10) primary key, /*主键,自动增加*/ name varchar2(20), /*姓名*/ phone varchar2(20), /*电话*/ sex varchar2(10), /*性别*/ age number(10) /*年龄*/ ); --.创建自增长序列 create s -
Mysql非主键自增字段
2020-07-06 10:21:34Mysql非主键自增字段需求错误的方式正确的方式原因分析 需求 菜单表涉及到人为干预排序,设计表结构时,需要单独的字段(seq)用于排序。此字段仅用于排序,非主键字段。 错误的方式 SET NAMES utf8mb4; SET FOREIGN... -
mysql建表且设置主键自增
2021-01-25 11:48:47/*Navicat MySQL Data TransferSource Server : 192.192.192.4Source Server Version : 50632Source Host : 192.192.192.4:3306Source Database : srapp_stshjzTarget Server Type : MYS... -
Mysql 主键自增插入数据问题
2021-01-18 18:57:40MySQL数据库表中有自增主键ID,当用SQL插入语句中插入语句带有ID列值记录的时候;如果指定了该列的值,则新插入的值不能和已有的值重复,而且必须大于其中最大的一个值;也可以不指定该列的值,只将其他列的值插入,... -
mysql设置主键从设置值自增以及插入数据的示例
2020-07-20 14:23:29CREATE TABLE `stu` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` char(32) NOT NULL DEFAULT '无', `grade` double NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ...如果忘记给主键设置自增,可以修改字段.