0

我想更改下表中的图像名称,如下所示。

图片名称:test.png

替换为:test_E.png

我希望 _E 在使用 mysql 查询的表中所有图像名称的末尾。

4

2 回答 2

3

使用替换功能

update <table>
set image=replace(image,'.png','_E.png')

如果表格中的图像扩展名不同,您可以使用它

   update <table>
     set image=concat(substring(image,1,locate('.',image)-1),'_E',
                 substring(image,locate('.',image),lenght(image)))
于 2012-10-03T09:21:18.643 回答
0

您可以使用 MySQL 查询的字符串函数:

UPDATE TABLE SET IMAGE_NAME = CONCAT(SUBSTR(IMAGE_NAME,(CHAR_LENGTH(IMAGE_NAME) - 4)),
'_E' , SUBSTR(IMAGE_NAME, -4)) WHERE ID = <put record id>;

SUBSTR(IMAGE_NAME,(CHAR_LENGTH(IMAGE_NAME)-4))将返回文件名 - 假设扩展名是 3 个字符。对于“test.png”,上述函数将删除“.png”,函数将返回“test”

SUBSTR(IMAGE_NAME, -4)将返回字符串的最后四个字符 - 所以 'test.png' 将返回 '.png'

使用 concat 你可以连接 'test'、'_E' 和 '.png' - 返回 'test_E.png'

进一步使用请参考 MySQL 的字符串函数参考

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

于 2012-10-03T09:44:14.933 回答