gpt4 book ai didi

mysql - 检查基于其他列值的约束

转载 作者:行者123 更新时间:2023-11-29 03:16:43 24 4
gpt4 key购买 nike

我有一个名为 Table1 的表,其中包含三列 col1col2col3。col1 可以具有三个值之一(1 或 2 或 3)。

我需要添加一个检查约束,以便它检查,如果 col1 的值为 1,则 col2 和 col3 的值应该相同,否则如果 col1 的值为 2 或 3,则 col2 和 col3 的值可能相同也可能不同.

谁能告诉我如何为此添加约束?

提前致谢。

最佳答案

您可以像这样添加检查约束:

ALTER TABLE Table1 ADD CONSTRAINT chk_table1_cols
CHECK ( (col1 = 1 AND col2 = col3) OR (col1 IN (2, 3)) );

请注意,“相同”假定值不是 NULL。如果您想将 NULL 值视为相等,则可以添加该逻辑。

关于mysql - 检查基于其他列值的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54706071/

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