MySQL中怎么防止重复插入数据

53次阅读
没有评论

共计 1357 个字符,预计需要花费 4 分钟才能阅读完成。

自动写代码机器人,免费开通

这期内容当中丸趣 TV 小编将会给大家带来有关 MySQL 中怎么防止重复插入数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

新建表格

CREATE TABLE `person` ( `id` int NOT NULL COMMENT  主键 , `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT  姓名 , `age` int NULL DEFAULT NULL COMMENT  年龄 , `address` varchar(512) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT  地址 , PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;

添加三条数据如下:

MySQL 中怎么防止重复插入数据

我们这边可以根据插入方式进行规避:

1. insert ignore

insert ignore 会自动忽略数据库已经存在的数据(根据主键或者唯一索引判断),如果没有数据就插入数据,如果有数据就跳过插入这条数据。

插入 SQL 如下: insert ignore into person (id,name,age,address) values(3, 那谁 ,23, 甘肃省),(4, 我的天 ,25, 浙江省

再次查看数据库就会发现仅插入 id 为 4 的数据,由于数据库中存在 id 为 3 的数据所以被忽略。

MySQL 中怎么防止重复插入数据

2. replace into

replace into 首先尝试插入数据到表中,1. 如果发现表中已经有此行数据 (根据主键或者唯一索引判断) 则先删除此行数据,然后插入新的数据。2.   否则,直接插入新数据。

插入 SQL 如下: replace into person (id,name,age,address) values(3, 那谁 ,23, 甘肃省),(4, 我的天 ,25, 浙江省);

首先我们将表中数据恢复,然后进行插入操作后发现 id 为 3 的数据发生了改变同时新增了 id 为 4 的数据。

MySQL 中怎么防止重复插入数据

3. insert on duplicate key update

insert on duplicate key update 如果在 insert into 语句的末尾指定了 on duplicate key update  + 字段更新,则会在出现重复数据 (根据主键或者唯一索引判断) 的时候按照后面字段更新的描述对该信息进行更新操作。

插入 SQL 如下: insert into person (id,name,age,address) values(3, 那谁 ,23, 甘肃省) on duplicate key update name= 那谁 , age=23, address= 甘肃省

首先我们将表中数据恢复,然后在进行插入操作时,发现 id 为 3 的数据发生了改变,进行了更新操作。

MySQL 中怎么防止重复插入数据

上述就是丸趣 TV 小编为大家分享的 MySQL 中怎么防止重复插入数据了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注丸趣 TV 行业资讯频道。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1357字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)