mysql 不重复 插入
时间: 2023-10-30 18:05:03 浏览: 38
在 MySQL 中,可以使用 INSERT IGNORE 或者 ON DUPLICATE KEY UPDATE 语句来实现不重复插入数据。
1. INSERT IGNORE
INSERT IGNORE 语句会尝试插入数据,如果插入的数据与表中已有的数据冲突(例如主键或唯一索引重复),则会忽略掉这条插入语句,不会报错,也不会执行插入操作。
示例:
```
INSERT IGNORE INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);
```
2. ON DUPLICATE KEY UPDATE
ON DUPLICATE KEY UPDATE 语句会在插入数据时,如果发现数据冲突,则会执行更新操作。具体来说,当插入的数据与表中已有的数据冲突(例如主键或唯一索引重复),则会执行后面的 UPDATE 子句,更新相应的数据。
示例:
```
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3)
ON DUPLICATE KEY UPDATE column1=value1, column2=value2, column3=value3;
```
其中,列名和值是需要插入的数据,后面的 UPDATE 子句中则是要更新的数据。如果没有指定要更新的数据,则会使用插入的数据更新相应的列。如果插入的数据与表中已有的数据不冲突,则会执行插入操作。
注意:使用 ON DUPLICATE KEY UPDATE 语句时,需要在表中设置主键或者唯一索引,否则会报错。