我试图根据它是否存在于两个联接表中来更新我的表中的一个字段。2个内部联接的MYSQL更新挂起
update quotes
inner join collection_records ON quotes.id <> collection_records.record_id
inner join subcollection_records ON quotes.id <> subcollection_records.record_id
set quotes.status_id = 1
where collection_records.type = 'Quote'
or subcollection_records.type = 'Quote'
此查询运行,但挂起。如果我删除内部连接它的工作原理,但我需要检查两个连接表的存在的报价编号。
左边的加入会成为这里的路吗? – Paul 2010-06-30 18:25:31
您正在进行大量的交叉连接,将所有可能的集合和子集合行的组合*连接起来,除了* ID匹配的地方。如果这个声明能够运行,它几乎肯定会更新每一个报价。这不是检查可连接行不存在的方法......在Ponies的答案中使用null-join方法。 – bobince 2010-06-30 18:33:51