我可能需要你對這個幫助... 我有以下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