2014-02-05 138 views
0

列要更新我們使用這樣的表:更新基於其價值

UPDATE `table` SET column = value WHERE column = value 

有什麼辦法來更新其值的列?例如:

表'測試'有2列稱爲'一'和'兩'。

我會設置它們:'一'到10,'二'到20,我希望更新值爲10的柱子,這是可變的,我不知道它到底是哪一列。

感謝

+1

這種問題有時表明設計不好,即缺乏標準化 – Strawberry

回答

0

你必須查詢該表第一:

select * from myTable where col1 = 10 or col2 = 10

然後,你需要服務器端代碼(如PHP,紅寶石,蟒蛇等),以確定其中列有需要的價值,你可以建立基於一個新的更新查詢:

update myTable set col1 = 20

如何曾經,我無法想象這是一種管理數據的有效方式。您可能想重新考慮數據庫的設計方式。

0

查找IF語法。也許它可以用在UPDATE查詢中的賦值中。

0

你可以做2個更新,每個列一個。

UPDATE test SET one = ... WHERE one = 10; 
UPDATE test SET two = ... WHERE two = 10;