更新所有行的一列

时间:2012-06-03 10:03:57

标签: mysql sql

file_path的值类似于

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

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

~/uploaded/de-DE/56/

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

2 个答案:

答案 0 :(得分:2)

如果您知道文件名在所有行上,那么这样的话?

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

它不漂亮,但它应该有用。

如果MySQL找到了最后一次出现会更简单,但据我所知,它并不是这样;因此LENGTH - LOCATE REVERSE咒语。

(先备份你的桌子:)

答案 1 :(得分:0)

如果你有类似的东西

~/uploaded/de-DE/'.$folder.'

将其更改为

~/uploaded/de-DE/'.$folder.'/

我认为你错过了反斜杠

mysql_query("update ".$table." set ".your cell."='".your data."' ");