MySQL中你知道几种防止数据重复的方法?

很多时候在日常的中知道种防止数项目中,有些数据是据重不允许重复的,例如用户信息中的复的方法登陆名,一旦存在同一个登陆名,中知道种防止数必然不知道到底是据重哪个用户执行登陆操作,导致系统异常。复的方法
常常在防止数据重复的企商汇中知道种防止数情况下,我们都采用唯一索引去解决,据重如下
CREATE TABLE `login` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT,复的方法 `name` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `idx_name` (`name`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;当我们执行同样的name的数据时则会报如下错误

除了这个方法,你还知道其他的中知道种防止数吗?
下面我们介绍另外几种方法
insert ignore into插入数据时,如果数据存在,据重则忽略此次插入
INSERT ignore INTO login(`name`,复的方法`password`) VALUES("ganhuojun","password")

replace into插入数据时,如果数据存在,中知道种防止数则删除再插入
REPLACE INTO login(`name`,据重`password`) VALUES("ganhuojun","password")
执行后发现,亿华云2行生效,复的方法其中一行删除,1行新增

insert if not existssql的语法为insert into … select … where not exist ...,该语句先判断mysql数据库中是否存在这条数据,如果不存在,则正常插入,如果存在,则忽略
INSERT INTO login ( `name`, `password` ) SELECT ganhuojun, password FROM login WHERE NOT EXISTS ( SELECT `name` FROM login WHERE `name` = ganhuojun )
on duplicate key update插入数据时,如果数据存在,则执行更新操作
INSERT INTO login ( `name`, `password` ) VALUES ( "ganhuojun", "password" ) ON DUPLICATE KEY UPDATE PASSWORD = passwd
相关文章
电脑主板刷机教程(电脑主板刷机步骤详解,让你轻松升级BIOS)
摘要:在电脑使用过程中,我们经常需要升级系统BIOS,以提高电脑性能或修复一些问题。然而,很多用户对于如何刷机还存在疑惑。本文将详细介绍电脑主板刷机的步骤和注意事项,帮助读者轻松升级BI...2025-11-05
OpenHarmony 源码解析之 JavaScriptAPI NAPI-C 接口
想了解更多内容,请访问:和华为官方合作共建的鸿蒙技术社区https://harmonyos.51cto.com1 简介在《OpenHarmony 源码解析之JavaScript API框架(NAPI)2025-11-05
在域名注册和域名抢注的过程中,站长和投资者经常会遇到一个问题:什么是老域名新手如何选择老域名随着互联网的发展,老域名的市场逐渐受到关注,它不仅可以帮助站点加快SEO优化的进程,还能提升品牌的可信度。那2025-11-05
很多人可能会觉得域名价格昂贵,特别是一些热门的域名。那么,如何才能以便宜的价格购买到合适的域名呢?本文将分享一些实用的技巧,帮助你在购买域名时省钱。一、选择合适的注册商不同的注册商在价格、服务和促销活2025-11-05华为电脑桌面设置教程(通过多个桌面设置,让华为电脑更适合你的需求)
摘要:随着数字化办公的发展,华为电脑成为了越来越多人的首选,而个性化的桌面设置则可以提升工作效率和使用体验。本文将为您介绍如何通过多个桌面设置,让华为电脑更加适合您的需求。创建新...2025-11-05
前段时间,双拼域名、杂米域名争奇斗艳,相继爆出高价成交案例,就连二声母.vip域名也不甘落后,超市价成交。小编身边有不少朋友看后,纷纷表达了自己对域名投资的极大兴趣,并咨询小编域名投资要怎么玩?哪些域2025-11-05

最新评论