Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ข้อผิดพลาด MySQL ข้อผิดพลาด 1099 (HY000):ตารางถูกล็อกด้วยการล็อก READ และไม่สามารถอัปเดตได้


ในการกำจัดข้อความค้นหา LOCK TABLES คุณต้องใช้ UNLOCK TABLES

ให้เราสร้างตาราง -

mysql> สร้างตาราง demo6−> (−> country_name varchar(100−> )−> );แบบสอบถามตกลง ได้รับผลกระทบ 0 แถว (1.51 วินาที)

แทรกระเบียนบางส่วนลงในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า demo6 ('US'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า demo6 ('UK'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.08 วินาที)mysql> แทรก ลงในค่า demo6 ('AUS'); ตกลง มีผลกับ 1 แถว (0.11 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก demo6;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------------+| country_name |+-------------+| สหรัฐอเมริกา || สหราชอาณาจักร || AUS |+--------------+3 แถวในชุด (0.00 วินาที)

ที่นี่ฉันมีล็อคในตารางด้านบนสำหรับตัวดำเนินการอ่านเท่านั้น ต่อไปนี้เป็นแบบสอบถาม -

mysql> ล็อกตาราง demo6 อ่านแล้ว ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

ต่อไปนี้เป็นข้อผิดพลาดเมื่อคุณพยายามแทรกลงในตารางด้านบน -

mysql> แทรกลงในค่า demo6 ('IND');ข้อผิดพลาด 1099 (HY000):ตาราง 'demo6' ถูกล็อกด้วยการล็อก READ และไม่สามารถอัปเดตได้

หากคุณใช้ UNLOCK TABLES คุณสามารถแทรกระเบียนในตารางเดียวกันได้ -

mysql> ปลดล็อกตาราง ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

แทรกระเบียนบางส่วนลงในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า demo6 ('IND'); เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.09 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก demo6;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------------+| country_name |+-------------+| สหรัฐอเมริกา || สหราชอาณาจักร || AUS || IND |+-------------+4 แถวในชุด (0.00 วินาที)