> 데이터 베이스 > MySQL 튜토리얼 > MySQL中ON DUPLICATE KEY UPDATE使用_MySQL

MySQL中ON DUPLICATE KEY UPDATE使用_MySQL

WBOY
풀어 주다: 2016-06-01 13:13:38
원래의
944명이 탐색했습니다.

今天做判断插入用到了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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿