Computer >> Máy Tính >  >> Lập trình >> MySQL

LỖI Lỗi MySQL 1099 (HY000):Bảng đã bị khóa bằng khóa ĐỌC và không thể cập nhật


Để loại bỏ truy vấn BẢNG KHÓA, bạn cần sử dụng BẢNG MỞ KHÓA.

Hãy để chúng tôi tạo một bảng -

mysql> create table demo6
−> (
−> country_name varchar(100
−> )
−> );
Query OK, 0 rows affected (1.51 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo6 values('US');
Query OK, 1 row affected (0.11 sec)

mysql> insert into demo6 values('UK');
Query OK, 1 row affected (0.08 sec)

mysql> insert into demo6 values('AUS');
Query OK, 1 row affected (0.11 sec)

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo6;

Điều này sẽ tạo ra kết quả sau -

+--------------+
| country_name |
+--------------+
| US           |
| UK           |
| AUS          |
+--------------+
3 rows in set (0.00 sec)

Ở đây, tôi có một khóa trên bảng trên chỉ dành cho toán tử đọc. Sau đây là truy vấn -

mysql> lock tables demo6 read;
Query OK, 0 rows affected (0.00 sec)

Sau đây là lỗi khi bạn cố gắng chèn vào bảng trên -

mysql> insert into demo6 values('IND');
ERROR 1099 (HY000): Table 'demo6' was locked with a READ lock and can't be updated

Nếu bạn sử dụng MỞ KHÓA BẢNG BIỂU, thì bạn có thể chèn các bản ghi trong cùng một bảng -

mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.00 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo6 values('IND');
Query OK, 1 row affected (0.09 sec)

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo6;

Điều này sẽ tạo ra kết quả sau -

+--------------+
| country_name |
+--------------+
| US           |
| UK           |
| AUS          |
| IND          |
+--------------+
4 rows in set (0.00 sec)