file_path列的值类似于

~/uploaded/de-DE/56/57d8c7d9-dcfc-4208-9f4c-2bf369690bd5.jpeg


我是MySql的新手,无法将所有行的这些值更新为类似

~/uploaded/de-DE/56/


这仅是目录(不是文件)。我想从字符串中删除文件名。

最佳答案

如果您知道文件名在所有行中,那么类似吗?

UPDATE table SET file_path = SUBSTR(file_path, 1, LENGTH(file_path) - LOCATE('/', REVERSE(file_path))+1) WHERE 1;


它不是很漂亮,但是应该可以。

如果MySQL可以找到最后一次出现会更简单,但是据我所知,这还不是最简单的。因此,LENGTH-LOCATE REVERSE咒语。

(首先备份您的表:)

关于mysql - 为所有行更新一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10869396/

10-16 08:35