我可能需要你对这个帮助... 我有以下MySQL查询:SQL SELECT和UPDATE返回不同的结果
SELECT * FROM dbName1.Prospects A
LEFT JOIN dbName2.inbox B ON
substring(A.ProspectCellPhone, 2) = substring(B.SenderNumber, 4) OR
substring(A.ProspectCellPhone, 3) = substring(B.SenderNumber, 4) OR
substring(A.ProspectCellPhone, 4) = substring(B.SenderNumber, 4)
LEFT JOIN dbName1.User C ON A.Username = C.Username
WHERE B.TextDecoded IS NOT NULL
AND substring(B.SenderNumber,1,1) = '+'
AND B.NotificationFlag = '0'
它会返回125结果...... 但是,当我尝试使用更新相同的查询,它只返回45更新结果... 更新查询:
UPDATE dbName1.Prospects A
LEFT JOIN dbName2 B ON
substring(A.ProspectCellPhone, 2) = substring(B.SenderNumber, 4) OR
substring(A.ProspectCellPhone, 3) = substring(B.SenderNumber, 4) OR
substring(A.ProspectCellPhone, 4) = substring(B.SenderNumber, 4)
LEFT JOIN dbName1.User C ON A.Username = C.Username
SET B.NotificationFlag = '1'
WHERE B.TextDecoded IS NOT NULL
AND substring(B.SenderNumber,1,1) = '+'
AND B.NotificationFlag = '0'
难道我做错什么事上更新查询?
非常感谢您的帮助...
select中的dbName2.inbox是update中的dbName2!这是正确的吗? – CloudyMarble 2013-03-04 10:07:21
你确定它是1x1连接而不是nxm?尝试在第一个查询中选择不同的dbname1.prospects(无论主键是什么)而不是* – Techmonk 2013-03-04 10:08:18
在更新检查中,只有45个值可能被更改,其他值可能与您的更新值相同。所以它显示45更新 – 2013-03-04 10:12:17