on duplicate key update values
时间: 2024-08-14 20:03:49 浏览: 44
mysql ON DUPLICATE KEY UPDATE语句示例
5星 · 资源好评率100%
`ON DUPLICATE KEY UPDATE` 是一种SQL语句,用于在尝试插入新记录时遇到唯一键冲突(如主键)的情况下更新已有记录的部分字段,而不是抛出错误。当你执行这个操作时,如果发现指定的键已经存在,它会查找该键对应的记录并仅更新你指定要更新的列。
例如,在MySQL中,假设有一个名为 `tbl_test` 的表,其中 `name` 列是唯一的,我们可以这样操作[^1]:
```sql
insert into tbl_test(name, age, address, update_time)
values('zhangsan', 22, '杭州2', '2024-03-05 00:00:00')
on duplicate key update age = VALUES(age), address = VALUES(address), update_time = VALUES(update_time);
-- 如果名字 'zhangsan' 已经存在,那么年龄、地址和时间将会被更新为新插入的值
insert into tbl_test(name, age, address, update_time)
values('王五', 23, '深圳', NOW());
-- 这次插入不会有问题,因为 '王五' 是一个新的名字,不会有重复。
-- 注意:VALUES 关键字用于引用新插入的值,而 CURRENT_TIMESTAMP 或 NOW() 可以用来获取当前时间。
```
阅读全文