2014-02-05 175 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;