我正在嘗試更新名爲位置的表上的4萬條記錄,總共包含6列。 4萬條記錄屬於6個類別中的1個。這些類別是:列「Bin」值以'a','b','c','d','e'或上述任何一個結尾。在MariaDB中優化1次SQL更新聲明
我寫了下面的更新語句,目的是直接在服務器上的表上運行。
UPDATE locations
SET Division=1, Bin=LEFT(Bin, LENGTH(Bin)-1)
WHERE RIGHT(Bin, 1)='a';
UPDATE locations
SET Division=2, Bin=LEFT(Bin, LENGTH(Bin)-1)
WHERE RIGHT(Bin, 1)='b';
UPDATE locations
SET Division=3, Bin=LEFT(Bin, LENGTH(Bin)-1)
WHERE RIGHT(Bin, 1)='c';
UPDATE locations
SET Division=4, Bin=LEFT(Bin, LENGTH(Bin)-1)
WHERE RIGHT(Bin, 1)='d';
UPDATE locations
SET Division=5, Bin=LEFT(Bin, LENGTH(Bin)-1)
WHERE RIGHT(Bin, 1)='e';
我從來沒有更新過超過1-5條記錄,我不確定是否有更好的方法來做到這一點。
我可以用PHP編寫一些代碼,所以如果一個解決方案需要整合它,我會接受這個想法。
如果我遺漏了任何相關或需要的信息,請告訴我。感謝您的幫助!
我甚至沒有意識到這個缺陷!非常感謝您指出並解決問題! –