mysql中避免重复插入记录方法

 时间:2024-11-14 14:52:16

1、使用ignore关键字.主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用。如果使用一般的插入,则会报主键重复的错。Duplicate entry '1' for key 'PRIMARY'如图:

mysql中避免重复插入记录方法mysql中避免重复插入记录方法

2、如果使用代有ignore的插入语句:INSERT IGNORE INTO t_ignore (`id`, `name`, `mark`) VALUES (1, 'test1', '测试');这样当有重复记录就会忽略,执行后返回数字0

mysql中避免重复插入记录方法

3、还有就是复制表时也可以使用ignore,避免重复记录:INSERT IGNORE INTO t_ignore (`id`, `name`, `mark`)SELECT id, name,mark from t_ignore_test

mysql中避免重复插入记录方法

4、使用ReplaceREPLACE的运行与INSERT很相像,但是如果旧记录与新记录有相同的值,则在新记录被插入之前,旧记录被删除。使用语法:REPLACE INTO `table_name`(`col_name`, ...) VALUES (...);REPLACE INTO `table_name` (`col_name`, ...) SELECT ...;REPLACE INTO `table_name` SET `col_name`='value'

mysql中避免重复插入记录方法

5、使用on duplicate key update如‍上,你也可以在insert into…..后面加上 on duplicate key update方法来实现。如果您指定了on duplicate key update,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行update操作。例如:name为unique,有一列name值为test1了,执行一下sqlinsert into t_ignore(id,name,mark) values (1,'test1','test1') on duplicate key update mark='ccc';则等同于update t_ignore set mark='cc' WHERE name='test1';

mysql中避免重复插入记录方法mysql中避免重复插入记录方法

6、如果行作为新记录被插入,则受影响行的值为1;如果原有的记录被更新,则受影响行的值为2。

mysql中避免重复插入记录方法
  • 天猫如何获取详情如何查询
  • 秋季钓鱼要注意那些要点
  • 新手怎么学撒网
  • 怎样自制鲫鱼打窝酒米?制作酒米注意事项
  • 美式抛网使用方法
  • 热门搜索
    蒂森克虏伯电梯怎么样 阳痿怎么治 华为手机怎么拍月亮 合理化建议怎么写 磁盘空间不足怎么清理 平均数怎么算 宝宝晚上睡觉不踏实哭闹怎么回事 微信不显示聊天怎么找回来 教学案例怎么写 腰间盘突出怎么治