MySQL更改文本列中的文件扩展名
MySQL-pro 的一个简单问题。我有一个表,其中有一个包含文件名的字段(只有文件名,没有额外的文本)。我需要将所有文件扩展名从“.png”更改为“.jpg”,我知道有一种方法只需查询即可完成此操作,无需使用 PHP 或 Java 等编程语言编写脚本。
以防万一,删除“show create table”输出:
CREATE TABLE `photos` (
`id` bigint(20) NOT NULL,
`owner_id` int(11) DEFAULT NULL,
`photo_name` varchar(255) DEFAULT NULL,
`comment` text,
`normal_file_name` varchar(255) DEFAULT NULL,
`thumb_file_name` varchar(255) DEFAULT NULL,
`full_file_name` varchar(255) DEFAULT NULL,
`photo_order` int(11) DEFAULT NULL,
`gallery_file_name` varchar(255) DEFAULT NULL,
`photo_type` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK_photos_OWNER_ID` (`owner_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
normal_file_name、thumb_file_name、gallery_file_name 和 full_file_name 是带有文件路径的字段。
提前感谢您的帮助!
// 评审团
A simple question for MySQL-pro. I've got a table that has a field with the filename in it (just the filename, no extra text). I need to change all file extension from ".png" to ".jpg", I know there's a way to do it with just query and no scripting in the programming language like PHP or Java.
Just in case, dropping "show create table" output:
CREATE TABLE `photos` (
`id` bigint(20) NOT NULL,
`owner_id` int(11) DEFAULT NULL,
`photo_name` varchar(255) DEFAULT NULL,
`comment` text,
`normal_file_name` varchar(255) DEFAULT NULL,
`thumb_file_name` varchar(255) DEFAULT NULL,
`full_file_name` varchar(255) DEFAULT NULL,
`photo_order` int(11) DEFAULT NULL,
`gallery_file_name` varchar(255) DEFAULT NULL,
`photo_type` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK_photos_OWNER_ID` (`owner_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
The normal_file_name, thumb_file_name, gallery_file_name and full_file_name are fields with file paths.
Thanks for help in advance!
// Juriy
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 UPDATE 语句中使用 REPLACE 函数:
如果没有匹配项,更换不会发生。
Use the REPLACE function in an UPDATE statement:
If there's no match, the replacement won't happen.
使用替换。举个例子:
Use REPLACE. As an example: