我正在尝试更新名为位置的表上的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编写一些代码,所以如果一个解决方案需要整合它,我会接受这个想法。
如果我遗漏了任何相关或需要的信息,请告诉我。感谢您的帮助!
我甚至没有意识到这个缺陷!非常感谢您指出并解决问题! –