2011-09-15 63 views
0

我想要將某些字段統一到相同的值,如果他們符合我的where子句中的條件。因此,而不是執行以下操作:SQL統一更新表字段

UPDATE Table1 
SET Column1 = Value1, Column2 = Value2 
WHERE Some_Column = Some_Value 

我需要做的是這樣的:

UPDATE Table1 
SET Column1, Column2 WHERE Some_Column = Some_Value 
+0

我不明白你是什麼意思第二個查詢 –

+0

你需要重複的表達式。即'SET Column1 = X,Column2 = X',除非你的RDBMS支持這種古怪的語法(並且即使這樣的RDBMS確實存在這樣的非標準語法可能是最好的避免)。你使用的是什麼RDBMS? –

+0

@Martin Smith,我正在使用mysql – sisko

回答

1

我假設你正在試圖鏈的分配因爲是在像C#語言可能在那裏你可以做x = y = z = 4;設置多個變量爲相同的值。

在MySQL中UPDATE grammar低於

UPDATE [LOW_PRIORITY] [IGNORE] table_reference 
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ... 
    [WHERE where_condition] 
    [ORDER BY ...] 
    [LIMIT row_count] 

它不支持這一點。你需要重複的表達

UPDATE Table1 
SET Column1 = expr, Column2 = expr 
WHERE Some_Column = Some_Value 
+0

你是非常正確的。我在考慮鏈接,完全錯過了你建議的簡單方法。謝謝! – sisko