我想使用以下查询更新表:
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才能接受。请告诉我我做错了什么?
答案 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;如果不是正在运行的进程,则删除进程)