史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」
来源:互联网 发布:伺服电机plc编程 编辑:程序博客网 时间:2024/05/22 07:07
数据的高级操作
数据的操作,无外乎增删改查。
新增数据的基本语法为:
insert into + 表名 + [(字段列表)] + values (值列表);
在数据插入的时候,假设主键对应的值已经存在,则插入失败!这就是主键冲突。
主键冲突
当主键存在冲突(duplicate key)的时候,可以选择性的进行处理,即更新或替换。
下面,以表my_class
为例,进行测试:
其中,grade
为主键。
第一种情况:主键冲突,进行更新操作。
- 基本语法:
insert into + 表名 + [(字段列表:包含主键)] + values (值列表) on duplicate key update 字段 = 新值;
执行如下 SQL 语句,进行测试:
-- 测试主键冲突的 SQL 语句insert into my_class values ('PM3527','B315');
如上图所示,当主键已经存在的时候,产生主键冲突。再执行如下 SQL 语言,解决主键冲突的问题:
-- 当主键冲突的时候,进行更新操作insert into my_class values ('PM3527','B315')-- 冲突处理on duplicate key update-- 更新主键值room = 'B315';
第二种情况:主键冲突,选择替换操作。
- 基本语法:
replace insert into + 表名 + [(字段列表:包含主键)] + values (值列表);
执行如下 SQL 语句,进行测试:
-- 测试主键冲突的 SQL 语句insert into my_class values ('PM3528','B215');
如上图所示,当主键已经存在的时候,产生主键冲突。再执行如下 SQL 语言,解决主键冲突的问题:
-- 当主键冲突的时候,进行替换操作replace into my_class values ('PM3528','B215');
通过以上两种情况的演示,当再发生主键冲突的时候,咱们已经可以从容应对并解决啦!
温馨提示:符号[]
括起来的内容,表示可选项;符号+
,则表示连接的意思。
———— ☆☆☆ —— 返回 -> 史上最简单的 MySQL 教程 <- 目录 —— ☆☆☆ ————
阅读全文
4 0
- 史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」
- 史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」
- 史上最简单的 MySQL 教程(二十三)「数据的高级操作 之 查询(上)」
- 史上最简单的 MySQL 教程(二十四)「数据的高级操作 之 查询(中)」
- 史上最简单的 MySQL 教程(二十五)「数据的高级操作 之 查询(下)」
- 史上最简单的 MySQL 教程(二十三)「数据的高级操作 之 查询(上)」
- 史上最简单的 MySQL 教程(二十四)「数据的高级操作 之 查询(中)」
- 史上最简单的 MySQL 教程(二十一)「数据的高级操作 之 蠕虫复制」
- 史上最简单的 MySQL 教程(二十二)「数据的高级操作 之 更新 & 删除」
- 史上最简单的 MySQL 教程(二十一)「数据的高级操作 之 蠕虫复制」
- 史上最简单的 MySQL 教程(二十二)「数据的高级操作 之 更新 & 删除」
- 史上最简单的 MySQL 教程(六)「SQL 基本操作 之 数据操作」
- 史上最简单的 MySQL 教程(十四)「列属性 之 主键」
- 史上最简单的 MySQL 教程(十)「列类型 之 日期时间型」
- 史上最简单的 MySQL 教程(四)「SQL 基本操作 之 库操作」
- 史上最简单的 MySQL 教程(五)「SQL 基本操作 之 表操作」
- MYSQL关于INSERT操作主键冲突的几个解决方案
- 史上最简单的 MySQL 教程(二十六)「连接查询(上)」
- 玲珑杯 1125 咸鱼商店 【二分+01背包】
- matlab实验报告
- es6let,const命令(一)
- 和泉纱雾
- Hibernate关系(双向一对一、一对多、多对多和自身多对多)映射注解整理
- 史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」
- C语言--实现队列的入队出队
- 图的深度遍历
- (个人)AR电子书系统创新实训第四周(2)
- Selective Search for Object Recoginition
- 机器学习——决策树算法
- mysql 多表联合update
- ubuntu永久关闭ntp服务
- 数据库管理系统(DBMS)