根据其值更新列

时间:2014-02-05 23:29:11

标签: mysql

要更新表格,我们使用:

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

有没有办法按列更新列?例如:

表'test'有两列名为'one'和'two'。

我会设置它们:'one'到10,'two'到20,我希望更新值为10的columm,这是可变的,我不知道它究竟是哪个列。

由于

3 个答案:

答案 0 :(得分:0)

您首先要查询表格:

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

然后,您需要服务器端代码(如php,ruby,python等)来确定哪个列具有所需的值,并且您可以基于此构建新的更新查询:

update myTable set col1 = 20

但是,我无法想到这是一种管理数据的有效方式。您可能想重新考虑数据库的设计方式。

答案 1 :(得分:0)

查找IF语法。也许它可以在UPDATE查询中的赋值中使用。

答案 2 :(得分:0)

你可以做2个UPDATE,每列一个。

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