2013-04-28 3 views
4

MySQL에 관한 질문이 있으며 답변을 찾을 수 없습니다. 나는 자동 커밋이 MySQL에서 기본적으로 켜져 있음을 알고있다. 한 트랜잭션에서 명령 줄에서 몇 가지 업데이트 쿼리를 실행해야하지만 MySQL이이를 처리하는 방법을 알지 못합니다. 나는 이런 식으로 뭔가가있는 경우 :MySQL 명령 줄 및 트랜잭션

mysql -uroot -proot -e 'QUERY 1; QUERY 2; QUERY3' 

는 하나의 트랜잭션으로 실행됩니다 또는 MySQL은 개별적으로 각각의 문을 자동 위탁 할 것인가? 원 자성을 보장해야합니다. 당신은 트랜잭션을 생성 할 MySQL의의 START TRANSACTION 구문을 사용할 수 있습니다

답변

2

파이프가 좋습니다.

echo "START TRANSACTION;" > start.sql 
echo "COMMIT;" > commit.sql 

cat start.sql yourScript.sql commit.sql | mysql -uroot -proot 

또는

cat start.sql yourScript.sql - | mysql -uroot -proot 

그래서, 당신은 yourScript

행운의 결과에 따라 손으로 오 롤백을 커밋 할 수 있습니다!