>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 여러 테이블을 잠그는 방법은 무엇입니까?

MySQL에서 여러 테이블을 잠그는 방법은 무엇입니까?

王林
王林앞으로
2023-09-04 11:13:11805검색

MySQL에서 여러 테이블을 잠그는 방법은 무엇입니까?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제