不影響所有行我有以下查詢....更新查詢數據庫
UPDATE vehicle_catalog SET parent_id = 0 WHERE parent_id = SUBSTR(id, 0, 5)
我需要所有parent_id
S設定爲0,其中id的前5個字符是一樣的PARENT_ID。這是影響0行,當我在查看數據,它應該影響超過10,000。
爲什麼這不會影響所有行的任何想法?
UPDATE 如果我做了 UPDATE SET col = '1'
它會影響整個數據庫,但我的查詢,而不是整個數據庫上運行,我不明白。
UPDATE 正確的解決方案:
UPDATE `vehicle_catalog` SET parent = 0 WHERE SUBSTRING(id FROM 1 FOR 6) == SUBSTRING(parent_id FROM 1 FOR 6)
你可以嘗試運行SELECT * FROM vehicle_catalog WHERE parent_id = SUBSTR(id,0,5)?這將返回您的查詢將影響的行。如果SELECT沒有返回任何行,則需要更新條件;如果它返回你期望的結果,那麼其他事情正在發生。 – 2010-05-28 18:49:33