使用mysql数据库条目更新文件名

时间:2013-07-28 08:15:20

标签: mysql

我有以下mysql表

+----------------+--------------------+
|    ID          |      picture       |
+----------------+--------------------+
|     10954      | picture/mypics.jpg |
+----------------+--------------------+
|     10759      | picture/mypics2.jpg|
+----------------+--------------------+ 

我需要将现有的文件名重命名为ID,例如mypics.jpg重命名为10954

我怎样才能实现这个目标?

由于

1 个答案:

答案 0 :(得分:0)

UPDATE `following mysql table`
SET picture = CONCAT (
  SUBSTR (picture, 0, CHAR_LENGTH(picture) - LOCATE('/', REVERSE(picture)),
  '/',
  ID
)

这会将最后一次斜杠后的部分替换为ID列中的值。据我所知,MySQL没有找到字符串中最后一个子字符串的功能,因此使用CHAR_LENGTHLOCATEREVERSE进行了有趣的构造。

有关详细信息,请参阅MySQL String Functions