MySQL Error ERROR 1099 (HY000): Table was locked with a READ lock and can't be updated

mysqlmysqli database

要摆脱 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)

相关文章


有用资源