1
我有唯一的列url url varchar(4),並且想要將其更新爲唯一的隨機字符串,但是存在重複項的問題。 所以我想創建這樣的循環,但有定位兩次同一個表的問題。更新表列與唯一字符串使用where exists statel
UPDATE IGNORE word SET url = (SELECT GROUP_CONCAT(SUBSTRING('1234567890qwertyuiopasdfghjklzxcvbnm' , 1+ FLOOR(RAND()*LENGTH('1234567890qwertyuiopasdfghjklzxcvbnm')) ,1) SEPARATOR '')
FROM (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) AS dummy_tbl)
WHERE EXISTS (SELECT url FROM word WHERE url IS NULL);
什麼是填補我的專欄,與單個查詢的最佳方式是什麼?
我嘗試之前,我添加EXISTS子句,它不只更新其中一些行的所有行,當它的重複條目保留NULL時。所以我基本上想要添加循環與EXISTS。 (我有〜250k行,並做改變表url列) – MarksW
我擴展我的子字符串/長度相同的字符x3大小,並在單個查詢更新它,但我希望看到未來的項目正確的循環代碼。 – MarksW
你不能在'UPDATE'語句中循環。你需要編寫一個腳本來做到這一點,或者一個存儲過程。 –