MySQL中ONDUPLICATEKEYUPDATE使用_MySQL
程序员文章站
2022-06-03 20:51:22
...
今天做判断插入用到了MySQL中ON DUPLICATE KEY UPDATE,现在Mark以下!
如果你想做到数据库中没有数据的话插入数据、有数据的话更新数据,那么你可以选择ON DUPLICATE KEY UPDATE。
ON DUPLICATE KEY UPDATE能够在UNIQUE索引或PRIMARY KEY存在的情况下对旧行执行UPDATE操作。
例如:如果列a被定义为UNIQUE,并且包含值1,则以下两个语句具有相同的效果:
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c = c + 1,b = b - 1;
UPDATE table SET c = c + 1,b = b - 1 WHERE a = 1;
例如:如果INSERT多行记录(假设 a 为主键或 a 是一个 UNIQUE索引列):
INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c = c + 1;
执行后,c 的值会变为 4 (第二条与第一条重复, c 在原值上+1)。
INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c = VALUES(c);
执行后,c 的值会变为 7 (第二条与第一条重复, c 在直接取重复的值7)。
注意:ON DUPLICATE KEY UPDATE只是MySQL的特有语法,并不是SQL标准语法!
上一篇: php实现倒计时效果_PHP
下一篇: 改密码,该如何解决
推荐阅读
-
通过Node.js使用MySQL连接池
-
使用MySQLMigrationToolkit快速将Oracle数据导入MySQL_MySQL
-
在dreamweaver中连接mysql数据,出现http500异常
-
Django框架的使用教程--mysql数据库[三]
-
php使用mysql_query查询超大结果集超内存的解决方法,phpmysql_query_PHP教程
-
MYSQL查询 三列中的最大值
-
基于MySQL数据库的UTF8中文网站全文检索的实现_PHP
-
使用PHP实现Mysql读写分离_PHP
-
Eclipse中自动重构实现探索_MySQL
-
安装中没有设置登陆密码的情况下,重置mysql密码的方法