나는 SQL 명령을 사용하여 2 개 개의 다른 테이블을 업데이트하는 프로그램을 만들려고하고 있습니다. 내가 걱정하고있는 유일한 프로그램이 테이블 중 하나를 업데이트 한 후 연결이 끊어 또는 무엇이든을 다른 테이블을 업데이트하지 않을 경우 문제가있을 수 있다는 것입니다. 나도SQL 다중 명령 자성 질문
A. 정확한 동시에
또는
B. 되돌리기
첫 번째 업데이트 두 번째가 실패 할 경우에 그들을 업데이트 할 수있는 방법이 있나요.나는 SQL 명령을 사용하여 2 개 개의 다른 테이블을 업데이트하는 프로그램을 만들려고하고 있습니다. 내가 걱정하고있는 유일한 프로그램이 테이블 중 하나를 업데이트 한 후 연결이 끊어 또는 무엇이든을 다른 테이블을 업데이트하지 않을 경우 문제가있을 수 있다는 것입니다. 나도SQL 다중 명령 자성 질문
A. 정확한 동시에
또는
B. 되돌리기
첫 번째 업데이트 두 번째가 실패 할 경우에 그들을 업데이트 할 수있는 방법이 있나요.예는 SQL 트랜잭션을 사용합니다. , JDBC Transactions
대부분의 SQL 서버 지원 거래, 즉 일련의 조치를 대기 한 다음 원자 적으로 발생 갖는 여기 튜토리얼입니다. 이렇게하려면 다음과 같이 쿼리를 래핑하십시오.
START TRANSACTION;
*do stuff*
COMMIT;
지원되는 추가 기능에 대한 자세한 내용은 서버 설명서를 참조하십시오. 예를 들어, here is a more detailed discussion 개의 트랜잭션이 MySQL에 있습니다.
는 데이터베이스에 따라, 나는 관련된 작업을 기반으로 저장 프로 시저 또는 함수를 사용하는 것이 좋습니다 것입니다. 그들은 지원하고 있습니다 :
나는 당신이 "거래"에 대한 정보를 찾고 생각합니다. 특정 데이터베이스 (태그에 지정하지 않은 트랜잭션) 사용에 대한 정보 찾기 – Kendrick
문제점/오류 메시지는 무엇입니까? –
트랜잭션을 사용하는 경우 트랜잭션을 둘 다 사용하거나 사용하지 마십시오. 첫 번째 업데이트를 롤백 할 필요가 없습니다. –