22,207
社区成员
发帖
与我相关
我的任务
分享
SELECT TOP(1) "col1","col2"
FROM "table1"
WHERE "col3" = '1778847'
UPDATE "table1"
SET "status" = '7',
"last_time" = '2018-03-22 18:14:34'
WHERE "col3" = '1773186'
AND "status" >= 3
--------------- 以上是死锁的SQL -----------------
--------------- 以下是解决方案 -----------------
--1. 查询这个表,不关系到钱或更新、删除(也就是纯查询),全部加上 with(nolock)
SELECT TOP 1 col1,col2 FROM table1 WITH(NOLOCK) WHERE col3='1778847'
--2. 创建索引,提高查询和删除的效率
CREATE INDEX ix_table1_col3_status ON table1([col3],[status]) INCLUDE(col1,col2)
[ODBC Driver 11 for SQL Server][SQL Server]事务(进程 ID 58)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。
$sql_CodeNoItem = $db->get('d',array('a','b'),
array(d' => $param['d']));
if ($sql_CodeNoItem == false)
{
$return['status'] = RETURN_FAIL;
app_log('error', $db->last_query());
return $return;
}
查看了执行的sql,语法没错误,并且可以再查询分析器可以正常执行