ปัญหา: Table Locked with READ Lock
เมื่อใช้ LOCK TABLES table_name READ ตารางจะถูกล็อกสำหรับอ่านอย่างเดียว ไม่สามารถ INSERT/UPDATE/DELETE ได้
วิธีแก้: ใช้ UNLOCK TABLES
-- ล็อกตารางสำหรับอ่าน
LOCK TABLES demo6 READ;
-- พยายาม INSERT → Error 1099
INSERT INTO demo6 VALUES ('IND');
-- ERROR 1099 (HY000): Table 'demo6' was locked with a READ lock and can't be updated
-- ปลดล็อก
UNLOCK TABLES;
-- INSERT ได้ตามปกติ
INSERT INTO demo6 VALUES ('IND'); -- OK
คำอธิบาย Lock Types
READ LOCK: อื่นๆ อ่านได้ แต่ никтоเขียนไม่ได้ (รวมถึง Session ที่ล็อกด้วย)WRITE LOCK: เฉพาะ Session ที่ล็อกเท่านั้นที่อ่าน/เขียนได้ คนอื่นรอ
แนวทางปฏิบัติ: ใช้ UNLOCK TABLES ทุกครั้งหลังใช้งานเสร็จ หรือใช้ Transaction (START TRANSACTION, COMMIT/ROLLBACK) แทนการ Lock Table โดยตรง