MySQL删除特定字符后的字符串部分

MySQL删除特定字符后的字符串部分,mysql,sql,database,sql-update,Mysql,Sql,Database,Sql Update,我确实有一个名为“MAPPINGS”的数据库,由于一个错误,我需要替换大约23000行。是否有任何查询可实现以下目标: UPDATE MAPPINGS SET MAIN = 'firt part' WHERE USERID = '1578' AND MAIN LIKE 'first part >%' 问题是“第一部分”每次都是其他部分。我只需要删除“>”之后的所有内容,映射就正确了 或者,这只能通过PHP脚本完成吗?而从userid='1578'的映射中选择*,然后选择更新查询。我希望会

我确实有一个名为“MAPPINGS”的数据库,由于一个错误,我需要替换大约23000行。是否有任何查询可实现以下目标:

UPDATE MAPPINGS SET MAIN = 'firt part' WHERE USERID = '1578' AND MAIN LIKE 'first part >%'
问题是“第一部分”每次都是其他部分。我只需要删除“>”之后的所有内容,映射就正确了


或者,这只能通过PHP脚本完成吗?而从userid='1578'的映射中选择*,然后选择更新查询。我希望会有人质疑这一点

您可以在MySQL中使用
substring\u index()


试试这个:更新映射集MAIN='firt part',其中USERID='1578'和MAIN LIKE%>%'谢谢你可以分配这个,因为6m中的答案会这样做。
UPDATE MAPPINGS
    SET MAIN = SUBSTRING_INDEX(MAIN, '>', 1)
    WHERE MAIN LIKE '%>%' AND USERID = '1578';