我一直在建立一个Magento网站,并且SKU列表在自动化方面有点不稳定。我目前正在浏览phpMyAdmin并删除" YRS "和" MO "在SKU结束时,而不是打开管理员中的每个产品并通过那里保存。
我想找到一种自动化方法。我需要从一个表中只搜索一列并替换/删除"的 YRS "和"的 MO "有效转向" 10-2354-03 / 06 MO "进入" 10-2354-03 / 06 "
我正在思考类似"搜索> catalog_product_entity * sku | for | YRS & MO |替换||" (我不知道SQL查询,请原谅我这样的黑客编码)
捕获前面的空间并不是完全必要的,但在以后需要添加某些内容时会有所帮助。还有其他变量,所以有一个"用YYY替换XXX"太棒了:))
我可以运行任何简单的查询来实现这一目标吗?
表是" catalog_product_entity"和列是" sku"
答案 0 :(得分:2)
此更新声明应该这样做:
update catalog_product_entity
set sku = trim(trailing ' YRS' from trim(trailing ' MO' from sku))
如果要在select语句中测试它,请运行:
select trim(trailing ' YRS' from trim(trailing ' MO' from sku))
from catalog_product_entity
参见sql fiddle test:http://sqlfiddle.com/#!2/699ce/2/0
(从字符串末尾删除'MO'或'YRS')
答案 1 :(得分:1)
史蒂芬,
如果这是MSSQL Server,您应该可以使用以下内容:
更新YOUR_TABLE_NAME
设置catalog_product_entity = replace(catalog_product_entity,'MO','')
在运行更新语句之前,请尝试仅运行select以将原始值与新值进行比较。像这样:
选择 catalog_product_entity ,替换(catalog_product_entity,'MO','') 来自YOUR_TABLE_NAME