gpt4 book ai didi

mysql - 是否可以让 mysql 表接受引用不同表的 primary_key 列的空值?

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

我有一个表,其中有一列包含另一个表中一行的 ID。但是,当表 A 被填充时,表 B 可能有也可能没有为表 A 准备好的行。

我的问题是,是否可以让 mysql 阻止输入无效值,但可以输入 NULL?还是外键需要有效的相关值?

所以...我正在寻找的(伪代码)是这样的:

Table "person" id | name

Table "people" id | group_name | person_id (foreign key id from table person)

insert into person (1, 'joe');

insert into people (1, 'foo', 1)//kosher
insert into people (1, 'foo', NULL)//also kosher
insert into people(1, 'foo', 7)// should fail since there is no id 7 in the person table.

我需要这个的原因是我遇到先有鸡还是先有蛋的问题,事先创建人员表中的行非常有意义(在本例中,我正在创建组并希望他们预先存在加入他们的人)。我意识到这个例子很愚蠢,我只是将组 ID 放在人员表中而不是相反,但在我的现实世界问题中这是行不通的。

只是好奇我是否需要允许任何和所有值才能使这项工作正常进行,或者是否有某种方法允许 null。

最佳答案

如果您将列设置为可为空,则它可以包含 NULL,即使它是引用另一个表中的列的外键也是如此。

关于mysql - 是否可以让 mysql 表接受引用不同表的 primary_key 列的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3030549/

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