insert on duplicate key
时间: 2024-01-16 09:18:30 浏览: 84
MySQL的Replace into 与Insert into on duplicate key update真正的不同之处
insert on duplicate key是一种MySQL的语法,用于在插入数据时处理重复键值的情况。当插入的数据中存在与表中已有数据的键值冲突时,可以选择更新已有数据或者忽略该条数据的插入。
下面是一个示例:
假设我们有一个名为"students"的表,包含以下字段:id, name, age。
我们可以使用insert on duplicate key语法来插入一条数据,如果id已存在,则更新name和age字段的值,如果id不存在,则插入一条新的数据。
```sql
INSERT INTO students (id, name, age) VALUES (1, 'John', 20)
ON DUPLICATE KEY UPDATE name = VALUES(name), age = VALUES(age);
```
上述语句的意思是,如果id为1的记录已存在,则更新name和age字段的值为'John'和20;如果id为1的记录不存在,则插入一条新的记录,id为1,name为'John',age为20。
这样,我们可以通过一条SQL语句实现插入或更新的操作,避免了先查询再判断再执行插入或更新的过程。
阅读全文