2012-01-26 5 views
1

나는 field_t로 시작하는 이름을 가진 열에서 많은 필드가 나는 이름 변경의업데이트 여러 행

예 field_c하도록 변경해야합니다 :

여기
field_t_detail should be field_c_detail 
field_t_title should be field_c_title 
field_t_id should be field_c_id 
... 

이입니다

UPDATE my_table SET name = field_c_meta WHERE name LIKE 'field_t_meta'; 

은 어떻게 하나별로 하나에 그 일을 대신이 패턴을 따르는 모든 필드를 변경할 수있는 필드 중 하나의 이름을 변경하는 UPDATE 문 ?

답변

2

REPLACE 기능을 사용하는 것은 어떻습니까? 그것은 당신을 돕는가? 당신은 단지 변경 wnat 경우

UPDATE my_table 
SET name = 'field_c_meta', 
    name2 = 'field_c_meta', 
    name3 = 'field_c_meta' 
WHERE name LIKE 'field_t%'; 

:

UPDATE my_table 
    SET `name` = REPLACE(`name`, '_t_', '_c_') 

REPLACE SYNTAX
REPLACE SYNTAX

enter image description here

0

이 당신을 도움이 될 것입니다 field_t로 시작

name LIKE 'field_t%' 

모든 이름이 일치됩니다.

1

이 같이 동시에 여러 필드를 업데이트 할 수 있습니다

UPDATE my_table 
SET name = 'field_c' + SUBSTRING(name, 7) 
WHERE name LIKE 'field_t%'; 

이 모든 name from field_tSOMETHING to field_cSOMETHING 업데이트됩니다 : 이름 열은이 같은해야한다.