MySQL进程中主键唯一键重复值的解决方案

MySQL进程中主键唯一键重复值的解决方案
本文主要介绍在插入数据中避免将重复值插入到表中的方法,主要涉及忽略、重复密钥更新和替换。接下来,让我们看看三种方法。
忽略
使用忽略时,当插入的值与主键(主键)或唯一键(唯一键)重复时,它会自动忽略重复行,不影响后续行的插入。
创建测试表

创建表tignore
(非null主键),
名为
默认的字符集utf8);
如果插入的记录中有一个密钥复制,正常的插入将失败,整个语句失败。

如果忽略记录行重复值的插入记录中有重复值,则使用忽略,不影响其他行的插入。
更换
当插入的记录与主键或唯一键匹配时,使用替换删除表中的重复记录行。

更换为Treplace()值(1,1),(1,2),(2,2);
创建测试表

如果表下降存在Treplace;
创建表treplace
(非null主键),
名为
默认的字符集utf8);
从输出信息中,您可以看到4行受到影响,表示它是先插入(1,1)然后删除(1,1)。

关于重复密钥更新
当插入的记录与主键或唯一密钥重复时,将执行后来定义的更新操作。
它相当于首先执行插入操作,然后根据主键或唯一密钥执行更新操作。
创建测试表

如果表中存在tupdate滴;
创建表tupdate
(非null主键),
名国际独特的关键
默认的字符集utf8);
插入tupdate()值(1,1),(1,2)重复密钥更新名称=姓名+ 1;
插入tupdate()值(1,1),(1,2)重复密钥更新名称=值(姓名);
第一个语句相当于执行:

插入tupdate()值(1,1)
更新tupdate
组名=姓名+ 1
其中id = 1;
第二个语句相当于执行:

插入tupdate()值(1,1)
更新tupdate
集名= 2 + 1
其中id = 1;
在重复密钥更新之后,值的使用指插入记录的值,并且没有值引用表的值。

注意:在重复密钥更新之后执行的更新更新记录是重复或主键的id的主键,这是非常重要的。
例如,下面是这样的例子:

插入tupdate()值(1,1),(2,1)重复密钥更新名称=值(ID);
这是唯一的关键名称重复,但是主键不重复,语句的执行是这样的:

插入tupdate()值(1,1)
更新tupdate
集名= 2 + 1
其中id = 1;
不要考虑插入主键id = 2的记录。
总结
上述三种处理重复值的方法都支持标准插入语法,包括插入…值,插入……,插入…选择。
mysql处理中的主键,在进程中只有主键重复值的解决方案,介绍这么多,希望对你有所帮助!

tag:进程解决方案主键一键电脑软件

相关内容