我确实有一个名为“MAPPINGS”的数据库,其中有大约 23.000 行,由于错误,我需要替换。是否有任何查询可以实现以下目的:.
UPDATE MAPPINGS SET MAIN = 'firt part' WHERE USERID = '1578' AND MAIN LIKE 'first part >%'
问题是“第一部分”每次都是别的东西。我只需要删除“>”之后的所有内容,映射就正确了。
或者只能通过 PHP 脚本来完成? while select * from mappings where userid = '1578' 然后更新查询。我希望会有一个查询来实现这一点。
最佳答案
您可以使用 substring_index()
在 MySQL 中执行此操作:
UPDATE MAPPINGS
SET MAIN = SUBSTRING_INDEX(MAIN, '>', 1)
WHERE MAIN LIKE '%>%' AND USERID = '1578';
关于MySQL 删除字符串中特定字符之后的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33629952/