2016-11-05 3 views
-1

테이블에 isbn을 추가하는 쿼리를 작성했습니다 ... 잘 작동하지만 이미 존재하는 isbn을 삽입하려고하면 오류가 발생합니다. 값이 존재하는지 어떻게 확인합니까?데이터베이스를 업데이트하기 전에 값이 존재하는지 확인하십시오

$query = "INSERT INTO cart (isbn, hardcover_purchased, softcover_purchased, ebook_purchased) 
      VALUES ('0061348112', 1, 0, 0)"; 
+1

최소 1 일 1 회 요청합니다. 중복 검색 키를 삽입하거나 바꾸기 또는 삽입을 검색하십시오. – e4c5

+0

동일한 질문을 반복해서 게시하는 것을 중단하십시오. 매뉴얼을 읽고 모든 것이 어떻게 작동하는지 이해하십시오. –

답변

1

당신은 다음과 같은 업데이트를 수행 할 수 있습니다 :

UPDATE Tokens 
SET refresh_token = 'C08Rbs' 
WHERE id = '2' 
AND NOT EXISTS (SELECT refresh_token FROM Tokens WHERE refresh_token ='C08Rbs') 

사용 ROW_COUNT() 모든 행이 실제로 업데이트 된 여부를 결정하는

여기 내 쿼리입니다. id = 2 인 행이 실제로 있다고 가정하면 값이 이미 존재하기 때문에 갱신 된 행이 없으면 0을 리턴합니다.

1

ON DUPLICATE KEY UPDATE을 사용하시기 바랍니다. 예 :

$query = 'INSERT INTO cart (isbn, hardcover_purchased, softcover_purchased, ebook_purchased) VALUES ('0061348112', 1, 0, 0) ON DUPLICATE KEY UPDATE isbn=isbn;'; 
관련 문제