首页 > 数据库 >mysql 在insert时防止出现主键冲突错误的方法

mysql 在insert时防止出现主键冲突错误的方法

时间:2022-09-19 22:11:09浏览次数:86  
标签:tmp insert +----+------+ mysql 主键 student MySQL id

在mysql中插入数据的时候常常因为主键存在而冲突报错,下面有两个解决方法:

1、在insert 语句中添加ignore 关键字,如:insert ignore into table (id,name) values ('1','username');这是如果id主键已经存在的时候,就会忽略现在数据而保留原来的数据不变;

例子:

MySQL [tmp_database]> select * from student;
+----+------+
| id | Name |
+----+------+
|  1 | rcp  |
+----+------+
1 row in set (0.00 sec)

MySQL [tmp_database]> insert ignore into student Value(1,'kk');

MySQL [tmp_database]> select * from student;
+----+------+
| id | Name |
+----+------+
|  1 | rcp  |
+----+------+
1 row in set (0.00 sec)

  

2、插入的时候用REPLACE INTO语句,如 REPLACE INTO table(id,name) values ('1','username');这个方法是如果id主键存在的时候就覆盖掉原来的数据。

MySQL [tmp_database]> REPLACE into student Value(1,'lisi');
Query OK, 2 rows affected (0.00 sec)

MySQL [tmp_database]> select * from student;
+----+------+
| id | Name |
+----+------+
|  1 | lisi |
+----+------+
1 row in set (0.00 sec)

  

标签:tmp,insert,+----+------+,mysql,主键,student,MySQL,id
From: https://www.cnblogs.com/lucktomato/p/16709281.html

相关文章

  • MySQL-索引
    MYSQL之索引本章包含索引概述,索引结构,索引语法,索引分类,SQL性能分析,索引使用,索引设计原则!索引概述介绍(1)索引(index)是帮助MySQL高效获取数据的数据结构(有序)。......
  • MySQL查看最大连接数和修改最大连接数
    1、查看最大连接数showvariableslike'%max_connections%';2、修改最大连接数setGLOBALmax_connections=200;以下的文章主要是向大家介绍的是MySQL最大连接数的......
  • 【Mysql】主从同步原理
    mysql主从同步过程:mysql的主从复制主要有三个线程:master:二进制日志转储线程(binlogdumpthread)、slave:I/O线程(I/Othread)和SQL线程(SQLthread).master一条线程和slave......
  • mysql的单路排序和双路排序
    单路排序:查询数据时,将所有要查询的数据全部加载到内存中进行排序。双路排序:查询数据时,只是将排序字段和记录ID加载到内存中,排好序后在根据id回表加载数据。单路排序占......
  • MySQL-存储引擎
    存储引擎本章包含MySQL的体系结构、存储引擎介绍、存储引擎特点、存储引擎的选择!使用的MySQL8.0版本。MySQL的体系结构MySQL服务的体系结构图:MySQL服务各层的功......
  • mysql(6)约束
    约束是作用于表中字段上的规则,用于限制存储在表中的数据,以保证数据库中数据的正确、有效性和完整性。 约束分类    外键约束具有外键的表为子表,外键关联的表......
  • mysql初步自学
    mysql是目前最常用的一项数据库,所谓的mysql实际上是数据库管理系统(JBMS),数据库使用sql语句实现对数据库的操作,实际上目前的数据库无论是mysql还是oracle都是采用的sql语句去......
  • 【Mysql】什么是MVCC
    多版本并发控制:读取数据时通过一种类似快照的方式将数据保存下来,这样读锁就和写锁不冲突了,不同事务会话看到自己特定版本的数据,使用版本链。MVCC只在READCOMMITTED和RE......
  • MySQL进阶
    【转】Mysql进阶学习Ⅰ,索引优化入门之前学习的数据库知识,主要是对表的增删改查(CRUD),并没有考虑对数据库做出优化,这章内容就是学习怎么优化数据库。为什么要优化数据库?当......
  • mysql5.7+版本,date类型设置默认值0000-00-00 报错
    在本地建表,发现无法给date类型设置默认值为0000-00-00,报错:  在mysql命令行输入:SELECT@@SQL_MODE,可以看到值为:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZER......