আপনি LOCK TABLES কমান্ডের সাহায্যে একাধিক টেবিল লক অর্জন করতে পারেন। সিনট্যাক্স নিম্নরূপ -
LOCK TABLES yourTableName1 WRITE; LOCK TABLES yourTableName2 WRITE; LOCK TABLES yourTableName3 WRITE; LOCK TABLES yourTableName4 WRITE; . . . N;
টেবিল লকগুলি লেনদেন নিরাপদ নয় এবং দ্বিতীয় টেবিলটি লক করার চেষ্টা করার আগে এটি সক্রিয় লেনদেনটি প্রথম স্পষ্টভাবে করে৷
ধরা যাক আমার কাছে একটি টেবিল অর্ডারডেমো −
আছেmysql> create table OrderDemo -> ( -> OrderId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> OrderPrice int, -> OrderDatetime datetime -> ); Query OK, 0 rows affected (0.66 sec)
টেবিল অর্ডারডেমো এবং 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 পুনরায় চালু করতে হবে।