LOCK TABLES 명령을 사용하면 여러 테이블 잠금을 구현할 수 있습니다. 구문은 다음과 같습니다. -
LOCK TABLES yourTableName1 WRITE; LOCK TABLES yourTableName2 WRITE; LOCK TABLES yourTableName3 WRITE; LOCK TABLES yourTableName4 WRITE; . . . N;
테이블 잠금은 트랜잭션에 안전하지 않습니다. 두 번째 테이블을 잠그기 전에 먼저 활성 트랜잭션을 암시적으로 커밋합니다.
OrderDemo -
mysql> create table OrderDemo -> ( -> OrderId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> OrderPrice int, -> OrderDatetime datetime -> ); Query OK, 0 rows affected (0.66 sec)
OrderDemo 테이블과 utfdemo 테이블을 잠그는 쿼리가 있다고 가정합니다. utfdemo는 샘플 데이터베이스에 이미 존재합니다. 쿼리는 다음과 같습니다 -
mysql> LOCK TABLES OrderDemo WRITE; Query OK, 0 rows affected (0.03 sec) mysql> LOCK TABLES utfdemo WRITE; Query OK, 0 rows affected (0.07 sec)
이제 세션 테이블을 잠급니다. 테이블을 생성하려고 하면 오류가 발생합니다.
오류는 다음과 같습니다. -
mysql> create table LockTableDemo -> ( -> UserId int, -> UserName varchar(10) -> ); ERROR 1100 (HY000): Table 'LockTableDemo' was not locked with LOCK TABLES mysql> create table UserIformation -> ( -> UserId int, -> UserName varchar(10) -> ); ERROR 1100 (HY000): Table 'UserIformation' was not locked with LOCK TABLES
이 문제를 해결하려면 MySQL을 다시 시작해야 합니다.
위 내용은 MySQL에서 여러 테이블을 잠그는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!