13.MySQL解决主键冲突
Posted 码海无际
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了13.MySQL解决主键冲突相关的知识,希望对你有一定的参考价值。
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解决主键冲突的主要内容,如果未能解决你的问题,请参考以下文章