mysql on duplicate key update
时间: 2023-11-29 19:07:10 浏览: 130
Mysql ON DUPLICATE KEY Update
5星 · 资源好评率100%
当我们向MySQL数据库中插入数据时,如果插入的数据已经存在,则会发生重复键错误。为了避免这种情况,我们可以使用`INSERT INTO ... ON DUPLICATE KEY UPDATE`语句。这个语句的作用是:如果插入的数据已经存在,则更新该行数据,否则插入新数据。
下面是一个示例,假设我们有一个名为`students`的表,其中包含`id`和`name`两列,其中`id`是主键:
```sql
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50)
);
```
现在我们想要向这个表中插入一些数据,如果数据已经存在,则更新该行数据。我们可以使用以下语句:
```sql
INSERT INTO students (id, name) VALUES (1, 'Alice')
ON DUPLICATE KEY UPDATE name = 'Alice';
```
这个语句的意思是:如果`id`为1的行已经存在,则将该行的`name`更新为`'Alice'`,否则插入一行数据,`id`为1,`name`为`'Alice'`。
需要注意的是,`ON DUPLICATE KEY UPDATE`语句只有在插入数据时发生重复键错误时才会执行更新操作。如果插入的数据不存在,则不会执行更新操作。
阅读全文