您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

13.MySQL解决主键冲突

bubuko 2022/1/25 20:00:16 mysql 字数 7628 阅读 629 来源 http://www.bubuko.com/infolist-5-1.html

1.准备 1 CREATE DATABASE mahaiwuji; 2 USE mahaiwuji; 3 ? 4 CREATE TABLE emp 5 ( 6 empno INT PRIMARY KEY, 7 ename VARCHAR(10), 8 sal INT 9 ) ENGINE = INN ...

1.准备

 1 CREATE DATABASE mahaiwuji;
 2 USE mahaiwuji;
 3 ?
 4 CREATE TABLE emp
 5 (
 6     empno INT PRIMARY KEY,
 7     ename VARCHAR(10),
 8     sal INT
 9 ) ENGINE = INNODB DEFAULT CHARSET = utf8;
10 ?
11 INSERT INTO emp VALUES (1,smith,2800);
12 INSERT INTO emp VALUES (2,allen,1500);
13 INSERT INTO emp VALUES (3,ward,3500);
14 INSERT INTO emp VALUES (4,jones,1300);
15 INSERT INTO emp VALUES (5,martin,1600);
16 INSERT INTO emp VALUES (6,blake,3000);

技术分享图片

技术分享图片

2.方式一:主键冲突更新

INSERT [INTO] 数据表名 [(字段列表)] {VALUES | VALUE} (字段列表) ON DUPLICATE KEY UPDATE 字段名1 = 新值1[,字段名2 = 新值2] …;

1 INSERT INTO emp (empno,ename,sal) VALUES (2,allen2,3000)
2 ON DUPLICATE KEY UPDATE ename = allen2,sal = 3000;

技术分享图片

技术分享图片

3.方式二:主键冲突替换

REPLACE [INTO] 数据表名 [(字段列表)] {VALUES | VALUE} (值列表) [, (值列表)] …;

1 REPLACE INTO emp (empno,ename,sal) VALUES (3,ward2,3600);

技术分享图片

技术分享图片

4.区别

REPLACE语句与INSERT语句的使用类似,区别在于前者每执行一次就会发生两个操作(删除记录和插入记录)。

13.MySQL解决主键冲突

原文:https://www.cnblogs.com/mahaiwuji/p/12633614.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶