超出更新查询锁定等待超时

时间:2014-10-13 14:51:51

标签: php mysql codeigniter

我想使用以下查询更新表:

UPDATE `time_sheet_list_log` SET `entry_status` = 'History' WHERE `entry_status` = 'Active' AND `transaction_type` = 'Delete' AND `employee_id` = '77'

但我一直收到以下错误:

A Database Error Occurred

Error Number: 1205

Lock wait timeout exceeded; try restarting transaction

UPDATE `time_sheet_list_log` SET `entry_status` = 'History' WHERE `entry_status` = 'Active' AND `transaction_type` = 'Delete' AND `employee_id` = '77'

Filename: C:\Xampp_1\htdocs\timesheet\system\database\DB_driver.php

Line Number: 330

我必须重新启动mysql DB才能接受。请告诉我我做错了什么?

2 个答案:

答案 0 :(得分:0)

这对你有帮助吗? Fixing "Lock wait timeout exceeded; try restarting transaction" for a 'stuck" Mysql table?

如果没有,这就是我要使用的查询。

$data['entry_status'] = 'History';

$this->db->where('entry_status', 'Active');
$this->db->where('transaction_type', 'Delete');
$this->db->where('employee_id', '77');
$query = $this->db->update('time_sheet_list_log', $data);

return ($this->db->affected_rows() > 0) ? true : false;

答案 1 :(得分:0)

运行show full processlist;查询以找出可能在表上获得锁定的可能操作/查询。 (使用KILL进程id;如果不是正在运行的进程,则删除进程)