MySQL 错误 ERROR 1099 (HY000): 表已被一个 READ 锁锁定,无法更新

MySQL 错误 ERROR 1099 (HY000): 表已被一个 READ 锁锁定,无法更新

若要摆脱 LOCK TABLES 查询,你需要使用 UNLOCK TABLES。

让我们创建一个表 −

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

使用 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)

使用 select 语句从表中显示记录 −

mysql> select *from demo6;

这将产生以下输出 −

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

在上面的表上,我只锁了读取操作。下面是查询 −

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

当您尝试在该表上插入时,会出现以下错误 −

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

如果您使用 UNLOCK TABLES,那么你可以在同一张表中插入记录 −

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

使用 insert 命令将一些记录插入到表中 −

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

使用 select 语句从表中显示记录 −

mysql> select *from demo6;

这将产生以下输出 −

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

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程