【发布时间】:2015-12-10 23:39:12
【问题描述】:
我有一个数据库,我正在尝试更新其中的行值,但出现“锁定等待超时”错误。表格是这样的:
mysql> use rti;
Database changed
mysql> explain resin_products;
+--------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| resin_product_id | int(11) | NO | PRI | NULL | |
| manufacturer | varchar(45) | YES | | NULL | |
| name | varchar(45) | YES | | NULL | |
| model_number | varchar(45) | YES | | NULL | |
| resin_type | varchar(45) | YES | | NULL | |
| primary_type | varchar(45) | YES | | NULL | |
| group | varchar(45) | YES | | NULL | |
| teir | varchar(45) | YES | | NULL | |
| chemical_structure | varchar(45) | YES | | NULL | |
| physical_structure | varchar(45) | YES | | NULL | |
| color | varchar(45) | YES | | NULL | |
| total_capacity | varchar(45) | YES | | NULL | |
| salt_split_CAP | varchar(45) | YES | | NULL | |
| price_per_cuft | varchar(45) | YES | | NULL | |
| comments | varchar(500) | YES | | NULL | |
+--------------------+--------------+------+-----+---------+-------+
命令如下:
mysql> UPDATE resin_products SET price_per_cuft='00.04' WHERE resin_product_id=1;
这是大约 30 秒后出现的错误:
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
这是我的“lock_wait”变量设置的:
mysql> show variables like 'lock_wait_timeout';
+-------------------+----------+
| Variable_name | Value |
+-------------------+----------+
| lock_wait_timeout | 31536000 |
+-------------------+----------+
1 row in set (0.00 sec)
【问题讨论】:
-
查看结果 > SHOW ENGINE INNODB STATUS;
标签: mysql