【发布时间】:2011-07-13 00:01:15
【问题描述】:
我有一个表“answers”,其中包含一个索引的“problem_id”整数列、一个“times_chosen”整数列和一个 varchar 的“option”列。目前,“选项”列的唯一值是“A”、“B”、“C”和“D”,尽管稍后可能会扩展。当我知道每个答案的 issue_id 和选项时,我想将许多 (50-100) 答案的“times_chosen”值加一。
所以我需要一个类似的查询:
UPDATE answers
SET times_chosen = times_chosen + 1
WHERE (problem_id, option) IN ((4509, 'B'), (622, 'C'), (1066, 'D'), (4059, 'A'), (4740, 'A')...)
这可能吗?
【问题讨论】:
-
应该,至少我认为在 MySQL 和 MSSQL 中应该。你试过了吗?您可以使用
SET times_chosen = times_chosen进行测试 -
哦,哇,它确实有效,就像我写的一样!它甚至使用索引!谢谢 Dirk - 如果您只是复制下面的回复作为答案,我很乐意接受。
-
嘿,我不知道这是有效的语法。这很方便=D
-
@PreciousBodilyFluids 请在您的问题中添加一行确认它就像一个魅力 ^^
标签: sql postgresql