..
온라인 강좌
  • 페이스 북에 우리를 따르라
  • 트위터에 우리를 따르라
  • + Google에 우리를 따르라
  • RSS를 통해 우리를 따르라
  • 귀하의 스마트폰으로 우리를 따라

INSERT와 적을 질의 ... 중복 키 Update에서

최대 Bossi가 작성한 기사

그것은 님의 아니라 쿼리의 적절한 관리는 안정적이고 효율적인 구현을위한 필수 조건이라고 알려져 있습니다.
이 문서에서는 우리가 알고 조금이지만 아주 강력한 구문을 제공합니다, 제가 중복 키 Update에서 조항에 대해 얘기하는 거예요.

이 조항은 INSERT 문을 동안 사용되며 그 용도가 확인합니다, 삽입하기 전에, 그러한 경우에, 엔진은 기본 키 (기본 키) 또는 고유 키 (고유 키)의 중복이 MySQL은 un'UPDATE가 공간에 삽입을 가지고 다니십시오.

(기사는 아래에 계속됩니다 ...)

이 조항의 장점은 분명하다 : 당신이 성능 및 코드 정리의 측면에서 장점이있는 대신 두 단일 쿼리를 써주세요.

가 실질적인 예를 봅시다. 저희 사이트를 방문자의 로깅을 수행하는 간단한 스크립트를 만들고 싶어합시다. 우리 DB의 테이블 구조 아래 :

일반적인 논리에 따라, 우리의 페이지는 우리가 가진 모든 IP 전송을 기록하고자하는 것은, 먼저 쿼리 IP가 이미 DB에 존재 아니라고하며 답변이 부정적인 IP (존재하지 않는) 경우에만 확인하려면 선택 예비하다 넣습니다.

문법 INSERT 덕분에 ... 중복 키 Update에서 우리는 단일 쿼리와 동일한 결과를 얻을 수 있습니다 :

 

 ip_visitatori 값 ('123 .123.123.123 ', 1, 지금 ())에 삽입할
 


 KEY DPLICATE ON



 업데이트 numero_visite numero_visite = + 1 ultima_visita = NOW ();
 
IP가 삽입이 이루어집니다되지 않은 경우 따라서, 그렇지 않으면 당신은 영향을받는 레코드의 간단한 업데이 트를 실행합니다. 이 구문을 사용하면 30 %까지 동등한 성능 측면에서 혜택을 얻을 수 있습니다.

'약간의 상상력과 조항의 독창성으로 많은 상황에서 매우 유용있을 수 있습니다.
예를 들어 우리는 조건과 함께 그것을 사용할 수 있습니다. 자, 예를 봅시다 : 당신이 가상 경매 사이트에서 온라인 다음과 같이 구성에서 테이블을 가지고 가정 :

당신은 새로운 입찰가를 입력을 진행하고자 가정해 경매 이미 간단한 업그레이 드있을 것입를 제공하고 있지만 입찰가가 그것이 이미 존재보다 높은 경우에만 경우 :
 

 입찰 값 (1, 120)에 삽입할
 


 KEY DPLICATE ON



 업데이트 migliore_offerta = (값 (migliore_offerta) <120, 120 값 (migliore_offerta)) IF
 
우리가 하나를 해결했습니다 간단한 쿼리를 통해 급습이 떨어 ​​... 그렇지 않으면 우리는 자원 (그리고 오류의 큰 위험)의 폐기물을 발생하는 여러 쿼리를 사용했을 거에요.

코스
코스 MS 액세스 코스 MS 액세스
쉽고 빠르게 생성하고 데이터베이스를 관리하는 방법을 알아보십시오. 39 €부터 시작.
코스 MySQL을 코스 MySQL을
오픈 소스 데이터베이스의 관리. 49 €부터 시작.
코스 데이터베이스와 SQL 코스 데이터베이스와 SQL
관계형 데이터베이스 만들기 및 관리. 39 €부터 시작.
참고 ...
광고

cpclubpenguincheatscp.com

광고
회사 소개
미국의 소리 접촉하기
공동 작업
면책 조항
© 2003년에서 2012년까지 cpclubpenguincheatscp.com - 이탈리아 웹마 스터의 포털 - 판권 소유 |에 의해 구동 인터넷 미디어 IKIweb Srl - PIVA 02848390122