我有以下mysql表
+----------------+--------------------+
| ID | picture |
+----------------+--------------------+
| 10954 | picture/mypics.jpg |
+----------------+--------------------+
| 10759 | picture/mypics2.jpg|
+----------------+--------------------+
我需要将现有的文件名重命名为ID,例如mypics.jpg重命名为10954
我怎样才能实现这个目标?
由于
答案 0 :(得分:0)
UPDATE `following mysql table`
SET picture = CONCAT (
SUBSTR (picture, 0, CHAR_LENGTH(picture) - LOCATE('/', REVERSE(picture)),
'/',
ID
)
这会将最后一次斜杠后的部分替换为ID
列中的值。据我所知,MySQL没有找到字符串中最后一个子字符串的功能,因此使用CHAR_LENGTH
,LOCATE
和REVERSE
进行了有趣的构造。
有关详细信息,请参阅MySQL String Functions。