SQL MATCH LIKE,使id彼此相等

SQL MATCH LIKE, make the id equal to each other

所以我有这个代码

SELECT NAME, ingredient_id
FROM ingredient_aliases
WHERE (NAME) LIKE '%WATER%' 

它显示了所有与 WATER

相似的名字

从上图来看,三个都是水

我有很多 WATER 名称都是 NULL ingredient_id。 有没有办法让他们的 ingredient_id 彼此相等?

如果您需要更多信息,请告诉我。 谢谢 !

You want to UPDATE the NULL value to be 666?

@Hart CO yes, exactly

我认为你需要这样的东西:

UPDATE ingredient_aliases
SET  ingredient_id = 666
WHERE (NAME) LIKE '%WATER%'  AND 
      ingredient_id IS NULL

我假设 ingredient_id 对于所有水域都是一样的。

使用子查询从非空行中获取成分 ID。然后在所有空行的 UPDATE 赋值中使用它。

UPDATE ingredient_aliases
SET a.ingredient_id = 
     (SELECT MAX(ingredient_id) AS max_id
      FROM ingredient_aliases
      WHERE name LIKE '%WATER%'
        AND ingredient_id IS NOT NULL)
WHERE name LIKE '%WATER%' 
    AND ingredient_id IS NULL