2012-06-25 28 views
1

我正在創建一個應更新表的mysql語句,但不是將列名設置爲等於一些常規方式的值,而是決定使其成爲動態的示例代替:更新表,其中列名設置爲變量mysql

UPDATE mytable SET mycolumn = 'a value'; 

我使用了一個變量。在這種情況下:

SET @column = 'mycolumn'; 
UPDATE mytable SET @column = 'a value'; 

這會在執行更新語句時返回語法錯誤消息。有沒有辦法做到這一點?

回答

1

,你可以這樣做:

set @query = 'UPDATE mytable SET @column = ''a value'''; 
set @query = replace(@query, '@column', 'col_name'); 
PREPARE stmt1 FROM @query; 
EXECUTE stmt1;