例子 : insert into table_name (id,a,b) values(1,'q','b') ON DUPLICATE KEY UPDATE a='q'
id 为主键 如果存在id为1 的数据 就更新这条数据 a列为q 没有就插入这条数据
数据库数据
![]()
页面传入 张三 密码321,要求更新数据
INSERT INTO USER (id,NAME,PASSWORD) VALUES(
235,'张三','123') ON DUPLICATE KEY UPDATE NAME='李四' ,PASSWORD='321'
如果页面没有主键id呢
INSERT INTO USER (id,NAME,PASSWORD) VALUES(
(SELECT id FROM USER u WHERE u.name='张三' AND u.password='123')
,'张三','123') ON DUPLICATE KEY UPDATE NAME='李四' ,PASSWORD='321';
本文介绍了一种在SQL中使用ON DUPLICATE KEY UPDATE语句来高效处理数据更新和插入的方法,当主键冲突时更新数据,否则插入新数据。特别讨论了如何在没有直接提供主键的情况下,通过查询现有数据来确定更新操作。

233

被折叠的 条评论
为什么被折叠?



