0

列の値file_pathは次のようなものです

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

私はMySqlの初心者で、すべての行のこれらの値を次のように更新することはできません

~/uploaded/de-DE/56/

これはディレクトリのみです (ファイルではありません)。文字列からファイルの名前を削除したい。

4

2 に答える 2

2

ファイル名がすべての行にあることがわかっている場合は、次のようになりますか?

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

きれいではありませんが、うまくいくはずです。

MySQL に最後の発生を検索する機能があればもっと簡単ですが、私の知る限りではそうではありません。したがって、LENGTH - LOCATE REVERSE の呪文です。

(最初にテーブルをバックアップしてください:)

于 2012-06-03T11:25:55.610 に答える
0

あなたがこのようなものを持っているなら

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

に変更します

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

バックスラッシュを逃したと思います

mysql_query("update ".$table." set ".your cell."='".your data."' ");
于 2012-06-03T10:08:06.363 に答える