MySQL中ON DUPLICATE KEY UPDATE使用方式
更新:2023-02-06 10:40:35
人气:513
来源:互联网转载
A+
MySQL 的 ON DUPLICATE KEY UPDATE 语句用于在执行 INSERT 时避免重复记录。当插入数据时,如果发现主键或唯一约束已存在,则会更新现有记录而不是插入新记录。
INSERT INTO table_name (column1, column2, column3)VALUES (value1, value2, value3)ON DUPLICATE KEY UPDATE column1 = value1, column2 = value2, column3 = value3;
在上面的示例中,如果在表 “table_name” 中已存在一个与 (value1, value2) 相同的主键或唯一约束,则会更新 column1,column2 和 column3 的值。
如果你想更新除主键/唯一键外的其他列,可以这样做:
INSERT INTO table_name (column1, column2, column3)VALUES (value1, value2, value3)ON DUPLICATE KEY UPDATE column2 = value2, column3 = value3;
还可以使用VALUES()函数来使用已经插入的值
INSERT INTO table_name (column1, column2, column3)VALUES (value1, value2, value3)ON DUPLICATE KEY UPDATE column1 = VALUES(column1), column2 = VALUES(column2);
MySQL 的 ON DUPLICATE KEY UPDATE 语句会在遇到重复键时更新已有的记录。在默认情况下,如果表中定义了自增主键,那么执行 ON DUPLICATE KEY UPDATE 时会自动增加主键值。
推荐的文章
PHP经验分享
- ● PHP批量对TCP服务端指定多个IP非阻塞检查在线状态
- ● python实现TCP服务端持续接收关机、重启指令并输出结果【系列三】
- ● PHP给TCP服务端发送指令【系列二】
- ● PHP判断TCP服务端是否在线【系列一】
- ● PHP判断远程文件是否存在
- ● LINUX下用PHP获取CPU型号、内存占用、硬盘占用等信息代码
- ● PHP代码用UDP方式远程唤醒电脑让计算机开机
- ● apache下php生成验证码图片不能显示
- ● PHP使用AES加密解密示例(无偏移)
- ● Pluginmysql_native_passwordreported:''mysql_native_password'isdeprecate问题








