2009-12-23 4 views
2

현재 boh라는 db를 편집하려고합니다. 현재 테이블 "파일"에는 "경로"라는 필드가 있습니다. 경로 필드 안에는 폴더에 나열된 파일에 대한 실제 경로 (구문 "F : \ xxx \ xxx \ xxx \ filename.xxx")가 있습니다. 파일 이름 만 존재하도록 "F : \ xxx \ xxx \ xxx"를 바꾸기 위해 필드 정보를 어떻게 업데이트합니까?mysql 업데이트 필드 내용

답변

3

당신이 원하는 경로에 따라 달라 지겠습니까? u는 사용할 수 있습니다

UPDATE `table` SET `path` = REPLACE(`path`, 'F:\\xxx\\xxx\\xxx', ''); 

당신이 다음 명령을 수행해야 다음, 마지막 \ 후에 만 ​​마지막 부분을 유지하려면 : 가정

UPDATE `table` SET `path` = SUBSTRING_INDEX(`path`. '\\', -1); 
+0

조언을 주셔서 감사합니다. 디렉토리 경로를 제거 할 때 "\\"을 사용하지 않았기 때문에 부적절하게 시도했습니다. 너에게 소품! –

0
UPDATE files 
SET path = REPLACE(path, 'F:\xxx\xxx\xxx\', '') 
WHERE path LIKE = 'F:\xxx\xxx\xxx\%' 

너무 당신이 만들이 대규모 업데이트 데이터를 파괴하는 것은 매우 쉽다 : 데이터

  • 는 SELECT 문장
  • 백업 먼저 그것을 시도
0

'F를 : \ XXX \ XXX \ XXX \'는 이 문과 같은 문장을 시도해도 일정하지는 않습니다.

UPDATE files SET path = REVERSE(SUBSTR(REVERSE(path), 1, LOCATE(REVERSE(path), '\')));