INSERT INTO .. ON DUPLICATE KEY用法
来源:互联网 发布:nodejs调用java api 编辑:程序博客网 时间:2024/05/06 12:51
INSERT INTO .. ON DUPLICATE KEY用法
摘要:当在 insert 语句末尾指定了 on duplicate key update 语句时,如果新插入的新数据中 a列 的值已经在数据库中存在,则会执行后面的 update 语句,这时相当于执行了下面语句...
转载请注明来源:INSERT INTO .. ON DUPLICATE KEY用法
今天有人问用过mysql INSERT INTO .. ON DUPLICATE KEY吗?
注意:ON DUPLICATE KEY UPDATE只是MySQL的特有语法,并不是SQL标准语法! 转载请注明来源:INSERT INTO .. ON DUPLICATE KEY用法
http://www.php1.cn/Content/INSERTINTO--ONDUPLICATEKEY_YongFa.html
今天有人问用过mysql INSERT INTO .. ON DUPLICATE KEY吗?
自己还真没有用过这个东东,在网络上搜索了下这个东东是什么...
我们先来看条SQL语句:
INSERT INTO TableName(a,b,c) VALUES(1,2,3)ON DUPLICATE KEYUPDATE c=c+1;下面来解释下这条代码是什么意思:
假设上面语句中字段a的属性为唯一unique
当在 insert 语句末尾指定了 on duplicate key update 语句时,如果新插入的新数据中 a列 的值已经在数据库中存在,则会执行后面的 update 语句,这时相当于执行了下面语句:
UPDATE TableName SET c=c+1 WHERE a=1;反之,则执行正常的 insert 语句。
这里需要注意的是:如果行作为新记录被插入,则受影响行的值为1;如果原有的记录被更新,则受影响行的值为2。
参考资料:http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
下面来看一下同时插入多行记录的情况:
字段a被定义为UNIQUE,并且原数据库表table中已存在记录(2,2,9)和(3,2,1),如果插入记录的a值与原有记录重复,则更新原有记录,否则插入新行:
INSERT INTO TABLE (a,b,c) VALUES (1,2,3),(2,5,7),(3,3,6),(4,8,2)ON DUPLICATE KEY UPDATE b=VALUES(b);以上SQL语句的执行,发现(2,5,7)中的a与原有记录(2,2,9)发生唯一值冲突,则执行ON DUPLICATE KEY UPDATE,将原有记录(2,2,9)更新成(2,5,9),将(3,2,1)更新成(3,3,1),插入新记录(1,2,3)和(4,8,2)
注意:ON DUPLICATE KEY UPDATE只是MySQL的特有语法,并不是SQL标准语法! 转载请注明来源:INSERT INTO .. ON DUPLICATE KEY用法
http://www.php1.cn/Content/INSERTINTO--ONDUPLICATEKEY_YongFa.html
0 0
- INSERT INTO ON DUPLICATE KEY UPDATE 用法
- INSERT INTO .. ON DUPLICATE KEY用法
- insert into on DUPLICATE KEY UPDATE使用
- replace into和insert into on duplicate key 区别
- mysql replace into,insert into ... on duplicate key
- REPLACE INTO 和 INSERT INTO ... ON DUPLICATE KEY UPDATE SET ...
- replace into 和 insert into *** on duplicate key update
- MYSQL之REPLACE INTO和INSERT … ON DUPLICATE KEY UPDATE用法
- insert into replace into 和insert into .. on duplicate key update ..
- INSERT INTO ON DUPLICATE KEY UPDATE 与 REPLACE INTO 和 INSERT IGNORE INTO
- Mysql中Insert into xxx on duplicate key update问题
- REPLACE与INSERT INTO ... ON DUPLICATE KEY总结
- REPLACE INTO 与 INSERT ... ON DUPLICATE KEY UPDATE
- Mysql中Insert into xxx on duplicate key update
- MySql中Insert into xxx on duplicate key update
- Mysql INSERT INTO .. ON DUPLICATE KEY更新多行记录
- Mysql中Insert into xxx on duplicate key update问题
- INSERT INTO .. ON DUPLICATE KEY更新多行记录
- 大话数据结构二:线性表的链式存储结构(单链表)
- 自然语言处理的若干问题
- codeforce 796C
- python kafka producer consumer redis数据从kafka发送写人redis
- 搭建: canal部署与实例运行
- INSERT INTO .. ON DUPLICATE KEY用法
- 前端工程
- php通过Mysqli和PDO连接mysql数据详解
- testng的xml文件中包含中文参数
- 简单排列习题 紫书P35
- python input()
- [译] Node.js, Express.js 搭建 HTTP/2 服务器
- 常用排序算法的时间复杂度以及空间复杂度
- ACM公约数和公倍数