300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql插入查询内容 有哪些方法可以避免重复的插入数据 – 数据库 – 前端 linux

mysql插入查询内容 有哪些方法可以避免重复的插入数据 – 数据库 – 前端 linux

时间:2023-07-20 04:36:39

相关推荐

mysql插入查询内容 有哪些方法可以避免重复的插入数据 – 数据库 – 前端 linux

insert into 最普遍的插入,如果表中存在主键相同的数据,执行会报错。

replace into 如果表中存在主键相同的数据则根据主键修改当前主键的数据,反之则插入(存在就删除然后插入,反之直接插入)

insert ignore 如果表中存在主键相同的数据不在插入该条数据,反之则插入(存在则忽略,反之插入)

测试:

1.新增一张测试表 并预置数据

CREATE TABLE `insert_text` ( `id` varchar(50) NOT NULL, `value` varchar(50) DEFAULT NULL ,`memo` varchar(50) DEFAULT NULL , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `insert_text` (`id`, `value`, `memo`) VALUES (“1”, “2”, “3”);

2.检测replace into执行效果

(1)执行语句(该语句的ID与预置数据的ID相同):

REPLACE INTO `insert_text` (`id`, `value`, `memo`) VALUES (‘1’, ‘replace’, ‘replace’);

执行结果:

(注意:这里返回的受影响行数为2,所以在统计插入数据成功的条数需注意下)

(2)执行语句(该语句的ID与预置数据的ID不同):

REPLACE INTO `insert_text` (`id`, `value`, `memo`) VALUES (‘2’, ‘replace’, ‘replace’);

执行结果:

在这里因为主键不同,可以理解为执行了insert into

3.检测insert ignore执行效果:

(1)执行语句(该语句的ID与预置数据的ID相同):

INSERT IGNORE `insert_text` (`id`, `value`, `memo`) VALUES (‘1’, ‘ignore’, ‘ignore’);

数据未发生改变

(2)执行语句(该语句的ID与预置数据的ID不同):

INSERT IGNORE `insert_text` (`id`, `value`, `memo`) VALUES (‘2’, ‘ignore’, ‘ignore’);

在这里因为主键不同,可以理解为执行了insert into

好了,测试完成,需要根据不同的场景选择对应的插入方式—————-fillt

mysql插入查询内容 有哪些方法可以避免重复的插入数据 – 数据库 – 前端 linux mysql 卸载插件

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。