我有一个关于 SQL 语法以及在单个查询中是否可以执行特定操作的问题。考虑以下示例:
假设我们有一个食谱表。每个食谱都有 5 种成分列在成分 1、成分 2 等列下。假设突然确定糖对您不健康,并且每个食谱必须在其存在的每个成分列中将“糖”替换为“人造甜味剂”。我遇到的问题是没有成分表,因此每种成分都列在五列之一的下面,而不是引用成分 ID 之类的东西。
如果可能,我如何编写以下(伪)查询?
UPDATE Recipe
(SET ingredient1 = 'artificial sweetener' WHERE ingredient1 = 'sugar') OR
(SET ingredient2 = 'artificial sweetener' WHERE ingredient2 = 'sugar') OR
(SET ingredient3 = 'artificial sweetener' WHERE ingredient3 = 'sugar') OR
(SET ingredient4 = 'artificial sweetener' WHERE ingredient4 = 'sugar') OR
(SET ingredient5 = 'artificial sweetener' WHERE ingredient5 = 'sugar')
我在网上找到了多篇关于根据当前值将列设置为某个值的文章,但不仅仅是设置包含值的(特定)列。任何帮助是极大的赞赏。