我想更改下表中的图像名称,如下所示。
图片名称:test.png
替换为:test_E.png
我希望 _E 在使用 mysql 查询的表中所有图像名称的末尾。
使用替换功能
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)))
您可以使用 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