2012-04-11 5 views
0

나는 하나의 테이블 데이터로 customer라는 이름의 간단한 데이터베이스를 가지고있다. 고객 이름이 데이터베이스에서 빠져 나왔는지 확인하고 싶다. 삭제하고 싶으면. 나는 이것을 위해 MYSQL Connector를 사용하고있다.테이블에 값이 있는지 확인하는 방법, 존재하는 경우 삭제 하시겠습니까?

EDIT: 
I want to make sure the value is present before deleting to display 
a simple user message. 
+0

존재하는 고객과 존재하지 않는 고객을 삭제하고 어떻게되는지보십시오. – npinti

+0

약간 혼란 스럽습니다. MySQL 쿼리를 원하십니까? 데이터를 데이터 테이블 또는 그와 비슷한 것으로 끌어오고 그것에 대한 작업을 수행 하시겠습니까? 확장하십시오. – Dementic

+0

삭제할 데이터의 존재 여부를 확인하지 않아도됩니다. 단지'where = your condition' 만 삭제하면됩니다. –

답변

6

왜 삭제하지 않는 것이 좋을까요?

DELETE FROM customers WHERE customer_name = 'John Smith'; 

존재하면 삭제됩니다. 그렇지 않으면 어떤 행도 영향을받지 않습니다.

편집 : 좀 더 복잡한 과정이 필요하면

, 그럼 내가 (순서대로) 추천 :

  1. ON DELETE FOR EACH ROW 트리거를 생성, 삭제시에 그 뜻의 자동 업데이트 플래그;
  2. 이 목적을위한 함수/절차를 개발합니다.
  3. 처럼, 트랜잭션 블록 내에서 일련의 작업을 수행 :
START TRANSACTION; 
    UPDATE flag_table SET is_deleted = 1 WHERE customer_name = 'John Smith'; 
    DELETE FROM customers WHERE customer_name = 'John Smith'; 
    COMMIT; 

당신이 당신의 디자인에 대한 자세한 정보를 제공 할 수 있다면 대답하는 것이 더 쉽습니다.

+0

값을 찾을 수없는 경우 예외가 발생하지 않습니다. – techno

+0

아니요. 아무 것도하지 않습니다. – Iridio

+0

고객 이름이 존재하는지 확인하고 싶습니다. – techno

0

이 목적으로 트리거를 사용할 수 있습니다. 삽입시 반복이 발견되면 삭제됩니다.

관련 문제