史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」

释放双眼,带上耳机,听听看~!

数据的高级操作

数据的操作,无外乎增删改查

新增数据的基本语法为:

  • insert into + 表名 + [(字段列表)] + values (值列表);

在数据插入的时候,假设主键对应的值已经存在,则插入失败!这就是主键冲突。

主键冲突

当主键存在冲突(duplicate key)的时候,可以选择性的进行处理,即更新或替换。

下面,以表my_class为例,进行测试:

史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」

其中,grade为主键。

第一种情况:主键冲突,进行更新操作。

  • 基本语法:insert into + 表名 + [(字段列表:包含主键)] + values (值列表) on duplicate key update 字段 = 新值;

执行如下 SQL 语句,进行测试:

史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」

如上图所示,当主键已经存在的时候,产生主键冲突。再执行如下 SQL 语言,解决主键冲突的问题:

史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」

第二种情况:主键冲突,选择替换操作。

  • 基本语法:replace insert into + 表名 + [(字段列表:包含主键)] + values (值列表);

执行如下 SQL 语句,进行测试:

史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」

如上图所示,当主键已经存在的时候,产生主键冲突。再执行如下 SQL 语言,解决主键冲突的问题:

史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」

通过以上两种情况的演示,当再发生主键冲突的时候,咱们已经可以从容应对并解决啦!


**温馨提示:**符号[]括起来的内容,表示可选项;符号+,则表示连接的意思。


———— ☆☆☆ —— 返回 -> 史上最简单的 MySQL 教程 <- 目录 —— ☆☆☆ ————

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索