要更新表格,我们使用:
UPDATE `table` SET column = value WHERE column = value
有没有办法按列更新列?例如:
表'test'有两列名为'one'和'two'。
我会设置它们:'one'到10,'two'到20,我希望更新值为10的columm,这是可变的,我不知道它究竟是哪个列。
由于
答案 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;