2014-11-20 2 views
0

일반적으로이 같은 데이터베이스를 업데이트 할 수 있습니다 내가 MySQL을 사용하고 있는데 나는 열 ID, name, price (및 기타)업데이트 테이블

을 가진 Products 테이블이 :

Update Products 
Set price = 100 
where ID = 5 

그러나 무엇을 열 이름 대신 열 인덱스를 사용하여 값을 업데이트하려고합니다. 이와 같이 :

Update Products 
Set "Third Column" = 100 
where ID = 5 

어떻게 열 색인으로 테이블을 업데이트합니까?

아이디어가 있으십니까?

+1

왜? 이것으로 이어질 상황은 무엇입니까? –

+0

동적 SQL에서는이 작업을 수행 할 수 있지만 일반 명령문에서는 수행 할 수 없습니다. –

+0

당신은'dynamic sql'으로 이것을 할 수 있습니다,하지만 동의합니다, 왜? – sgeddes

답변

0

주석에 따라 보안상의 영향 또는 아래에서 설명하는 것처럼 동적 SQL (권장하지 않음)을 사용할 수 있습니다.

Update Products 
Set 
    ID = IF(colparameter=1, valueparam, ID), 
    name = IF(colparameter=2, valueparam, name), 
    price = IF(colparameter=3, valueparam, price) 
where ID = 5 

심지어 이렇게하는 것이 좋습니다.

+0

당신의 솔루션은 또한 컬럼 이름을 호출하고 있습니다. 아무런 차이가 없습니다. – Ahmed