gpt4 book ai didi

mysql - 根据另一列更新一列

转载 作者:行者123 更新时间:2023-12-01 00:14:27 25 4
gpt4 key购买 nike

我有下表:

ID  Type    Food    Drink   Animal
--------------------------------------
1 NULL Y N N
2 NULL Y N N
3 NULL N Y N
4 NULL N Y N
5 NULL N N Y

如何根据其他列中的 bool 值是否为真来更新类型列。例如如果“食品”列为真,则类型将为“食品”等

最佳答案

您可以在 UPDATE 查询中使用 CASE:

UPDATE tbl SET Type = 
CASE
WHEN Food = 'Y' THEN 'Food'
WHEN Drink = 'Y' THEN 'Drink'
WHEN Animal = 'Y' THEN 'Animal'
END
WHERE ...some condition if necessary...

但是,这可能根本没有必要。您可能会考虑创建一个 View 来显示此信息,而不是将其存储在列中。如果其他 bool 值发生变化,您需要始终更新类型列以匹配。

CREATE OR REPLACE VIEW type_vw AS (
SELECT
ID,
CASE
WHEN Food = 'Y' THEN 'Food'
WHEN Drink = 'Y' THEN 'Drink'
WHEN Animal = 'Y' THEN 'Animal'
END as Type
FROM tbl
);

关于mysql - 根据另一列更新一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8096003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com