MySQL更新查询挂起-超过时间

时间:2018-10-22 07:33:48

标签: mysql sql-update

你好,我在运行mysql更新跨数据库时遇到麻烦。 MySQL UPDATE查询因错误而挂起-超出了锁定等待超时;尝试重新启动事务。我知道已经提出了类似的问题,但是找不到任何可行的解决方案。我在PHP脚本中使用此查询。当我在mysql服务器中运行它时,它会执行相同的操作。当我终止该过程时,它就完成了。这是挂的东西。 PS:这始于2天前,在此之前,查询运行没有问题。仅当管理员从html表单中推送数据时,才会填充临时表。 “ Tess to esc”表每天增长约20行。

更新查询-

UPDATE escalations.teams_to_esc 
JOIN domguard.temp_table ON escalations.teams_to_esc.ticket_number = domguard.temp_table.task_number 
AND 
escalations.teams_to_esc.team = domguard.temp_table.team
SET 
escalations.teams_to_esc.`status` = domguard.temp_table.`status`, 
escalations.teams_to_esc.`wiw_assigned` = domguard.temp_table.`person` 
WHERE 
(escalations.teams_to_esc.team,escalations.teams_to_esc.ticket_number) IN 
(SELECT domguard.temp_table.team, domguard.temp_table.task_number 
FROM domguard.temp_table);

第一个表-temp_table

CREATE TABLE `temp_table` (
    `ID` INT(32) NOT NULL AUTO_INCREMENT,
    `task_number` INT(10) NULL DEFAULT '0',
    `type` VARCHAR(50) NULL DEFAULT '0',
    `assign_date` DATE NULL DEFAULT NULL,
    `team` VARCHAR(50) NULL DEFAULT NULL,
    `person` VARCHAR(50) NULL DEFAULT NULL,
    `task` VARCHAR(50) NULL DEFAULT NULL,
    `comment` TEXT NULL,
    `short_text` VARCHAR(500) NULL DEFAULT NULL,
    `delay_comment` VARCHAR(500) NULL DEFAULT NULL,
    `color` VARCHAR(500) NULL DEFAULT NULL,
    `status` VARCHAR(500) NULL DEFAULT NULL,
    `end_time` TIME NULL DEFAULT NULL,
    `tel_it` INT(2) NULL DEFAULT '0',
    `co_allocation` VARCHAR(500) NULL DEFAULT '0',
    `co_allocation_text` VARCHAR(500) NULL DEFAULT '0',
    `delay_code_text` VARCHAR(500) NULL DEFAULT '0',
    PRIMARY KEY (`ID`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=2483
;

第二张桌子

CREATE TABLE `teams_to_esc` (
    `ID` INT(11) NOT NULL AUTO_INCREMENT,
    `esc` INT(11) NOT NULL,
    `team` VARCHAR(500) NOT NULL,
    `ticket_number` VARCHAR(500) NOT NULL,
    `closed_time` DATE NOT NULL,
    `checked` VARCHAR(500) NULL DEFAULT NULL,
    `reaction_from_tl` VARCHAR(50) NULL DEFAULT NULL,
    `status` VARCHAR(50) NULL DEFAULT NULL,
    `wiw_assigned` VARCHAR(50) NULL DEFAULT NULL,
    PRIMARY KEY (`ID`),
    INDEX `esc` (`esc`),
    CONSTRAINT `teams_to_esc_ibfk_1` FOREIGN KEY (`esc`) REFERENCES `main_table` (`ID`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=2670
;

===错误调查===

SHOW流程列表的输出;

17107338    root    localhost   \N  Query   1278    Sending data    UPDATE escalations.teams_to_esc JOIN domguard.temp_table ON 
escalations.teams_to_esc.ticket_number

交易设置的输出

SELECT @@GLOBAL.tx_isolation, @@tx_isolation, @@session.tx_isolation;

0 个答案:

没有答案