2011-01-18 5 views
4

MySQL-pro에 대한 간단한 질문입니다. 파일 이름이있는 필드가있는 테이블이 있습니다 (파일 이름, 추가 텍스트 없음). 모든 파일 확장명을 ".png"에서 ".jpg"로 변경해야합니다. PHP 나 Java와 같은 프로그래밍 언어에서는 쿼리만으로 스크립팅을 할 수있는 방법이 있습니다.MySQL이 텍스트 열의 파일 확장자를 변경합니다.

이런 경우에, 떨어 출력 "쇼는 테이블을 만드는"

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 있습니다.

미리 도움을 청하십시오!

는 // Juriy

답변

11

사용 UPDATE 문에서 REPLACE function :

UPDATE PHOTOS 
    SET normal_file_name = REPLACE(normal_file_name, '.png', '.jpg'), 
     thumb_file_name = REPLACE(thumb_file_name, '.png', '.jpg'), 
     gallery_file_name = REPLACE(gallery_file_name, '.png', '.jpg'), 
     full_file_name = REPLACE(full_file_name, '.png', '.jpg') 

일치가없는 경우, 대체가 발생하지 않습니다.

+0

'picture.png.jpg'등이 아닌 모든 파일 이름이 올바르게 구성되기를 바랍니다. –

3

REPLACE을 사용하십시오. 예를 들면 다음과 같습니다.

관련 문제