2014-05-20 2 views
0

psql 프롬프트에서 "delete"문을 실행 한 다음 "ERROR : 사용자 요청으로 인해 명령문 취소"로 확인한 실행 중 취소 할 때 행이 h 제되지 않았는지 또는 일부 행이 h 제된 것으로 가정해야합니까?Postgresql - psql 취소 문

답변 해 주셔서 감사합니다.

감사 제이 섹

답변

0

삭제 ... WHERE ...] 문을 단일 트랜잭션으로 실행되므로 두 개의 가능한 결과가있다 :

  1. 는 (데이터베이스가 변경되지 행이 삭제되지 않습니다).

  2. 모든 행이 삭제되었습니다.

취소를 통해 트랜잭션이 중단 된 경우 결과 # 1이 변경됩니다.

# 2는 귀하의 취소가 거래를 중단하기에 너무 늦은 경우에만 발생합니다.

+0

케이스 2를 피하기 위해'auto-commit'을 끌 수 있습니다 ('\ set AUTOCOMMIT off'는'.psqlrc'에 기본값으로 추가 될 수 있습니다). 명시 적'commit'은 삭제를 영구히하십시오. – khampson

관련 문제