Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么会发生mysql死锁?_Php_Mysql_Deadlock - Fatal编程技术网

Php 为什么会发生mysql死锁?

Php 为什么会发生mysql死锁?,php,mysql,deadlock,Php,Mysql,Deadlock,下面是两个非常简单的mysql语句(按此顺序执行)。出于某种原因,第二个事务通常会死锁。有人知道为什么吗 $query = " DELETE FROM queues WHERE queuetype='autoresponder' AND recipient={$subscriberid} "; $this->Db->Query($query); $query = " INSERT INTO

下面是两个非常简单的mysql语句(按此顺序执行)。出于某种原因,第二个事务通常会死锁。有人知道为什么吗

$query = "
        DELETE FROM queues
        WHERE   queuetype='autoresponder'
        AND recipient={$subscriberid}
    ";
    $this->Db->Query($query);

    $query = "
        INSERT INTO queues (queueid, queuetype, ownerid, recipient, processed)

        SELECT  queueid, 'autoresponder', ownerid, {$subscriberid}, 0
        FROM    autoresponders
        WHERE   listid={$listid}
        AND active<>0
    ";
    $status = $this->Db->Query($query);
$query=”
从队列中删除
其中queuetype='autoresponder'
收件人={$subscriberid}
";
$this->Db->Query($Query);
$query=”
插入队列(队列ID、队列类型、所有者ID、收件人、已处理)
选择queueid,'autoresponder',ownerid,{$subscriberid},0
来自自动应答器
其中listid={$listid}
和active0
";
$status=$this->Db->Query($Query);
两个表都有许多索引。。。 有人知道为什么当两个事务分别执行时,第二个查询()会出现死锁吗


以下是select解释,仅供参考。

select语句本身的性能如何?删除?很好,比如0.006s。看看你是否能从这个线程中找到答案: