我想在下表中更改图片名称。
图片名称:test.png
替换为:test_E.png
我希望在使用mysql查询的表中所有图像名称的末尾添加_E。
答案 0 :(得分: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)))
答案 1 :(得分: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