gpt4 book ai didi

mysql - 两列SQL共存

转载 作者:行者123 更新时间:2023-11-29 04:48:42 29 4
gpt4 key购买 nike

我是 SQL 的新手(是的,只有 1 周),我正在自学。所以,我真的需要帮助来解决这个问题:

当另一列也为 NULL 时,如何将(表中的)列设置为 NULL?

例子:以 Name 和 Gender 作为列的人员表。为了有性别,“姓名”列也必须有一个条目。如果 Name 为 NULL,则不允许在 Gender 下插入。

哦,是的,这与我的家庭作业问题有关,但我已将上面的示例修改为不同的。我不要答案(虽然他们很受欢迎,但我想学习),我只想要指导。提前致谢。

最佳答案

SQL 支持一种称为“检查约束”的功能,因此您可以声明一个表达式,该表达式必须为真,否则该行无效且无法插入。 IE。 检查 Name IS NULL AND Gender IS NULL 或 Name IS NOT NULL AND Gender IS NOT NULL

但不幸的是,MySQL 不支持检查约束。从标准的角度来看,SQL 的许多功能都是可选的,并非所有 RDBMS 实现都支持所有功能。甚至有一些 SQL 特性都不是 RDBMS 品牌支持的。

在 MySQL 中执行此操作的唯一方法是使用 trigger .在插入或更新之前,如果 Name 为 null,则强制 Gender 也为 null。

如果 Name 不为空且 Gender 为空,那么我假设该行无效,因此您必须使用 signal中止插入或更新。

关于mysql - 两列SQL共存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14555363/

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