2010-11-19 2 views
0

ID 열 이름이 다르지만 업데이트 할 열 이름이 동일한 많은 테이블이 있습니다. 예를첫 번째 열의 MySQL 업데이트

Columns: 

fooID | x | y | UPDATEME | t | .. 
barID | a | UPDATEME | b | .. 
bazID | UPDATEME | m | l | .. 

를 들어

당신이 볼 수 있듯이, ID 열은 항상 첫 번째하지만 열 이름 변경. ID 열 이름에 관계없이 UPDATEME 열을 업데이트하고 싶습니다.

UPDATE `UPDATEME` WHERE `FIRST_COLUMN` = # 

어떻게하면됩니까? 나는 ORDER BY column_order 구문을 알고 있지만 WHERE 절에서 사용할 수 없습니다.

+0

당신의 문제가 무엇인지 명확하지 않다. 올바른 id 열을 사용하여 SQL을 동적으로 구축 할 수 있습니까? –

답변

1

이를 수행 할 SQL 구문이 없습니다. 그러나 DB 메타 데이터 (INFORMATION_SCHEMA)에 액세스하여 업데이트 문장을 생성 할 수 있습니다. 이 같은

뭔가 :

select 
    concat(
     'update ', 
     table_name, 
     ' set updateme=1212 where ', 
     column_name, 
     '=12123;' 
) 
    from information_schema.columns 
where ordinal_position = 1; 
관련 문제