ON DUPLICATE KEY
时间: 2024-06-25 13:01:07 浏览: 135
mysql数据库Insert语句后面加ON DUPLICATE KEY UPDATE,保证唯一性1
ON DUPLICATE KEY 是一种SQL(Structured Query Language)关键字,用于处理INSERT语句时遇到重复键的情况。当试图插入一个新的记录,如果发现键值已经存在于表中,那么ON DUPLICATE KEY 语句会触发特定的操作。
以下是一些常见的`ON DUPLICATE KEY`行为:
1. `ACTION`: 这是默认行为,如果键已经存在,那么插入操作失败,不会改变表中的现有记录,SQL默认的行为是 `ACTION = IGNORE`,即忽略此次插入。
```sql
INSERT INTO table_name (column1, column2)
VALUES (value1, value2)
ON DUPLICATE KEY UPDATE column1 = new_value1;
```
2. `UPDATE`: 如果键已存在,更新相应的列值。
```sql
INSERT INTO table_name (column1, column2)
VALUES (value1, value2)
ON DUPLICATE KEY UPDATE column1 = value1, column2 = value2;
```
3. `ACTION = REPLACE`: 替换现有记录。
```sql
INSERT INTO table_name (column1, column2)
VALUES (value1, value2)
ON DUPLICATE KEY REPLACE column1 = value1, column2 = value2;
```
请注意,这些操作通常与`UNIQUE`约束一起使用,确保指定的键(通常是主键或唯一键)在整个表中是唯一的。
阅读全文