如果第二个 table 的列可以为空,您能否将关系添加到主键?

Can you add a relationship to a primary key if the second table's column can be null?

我仍在学习外键的工作原理,想知道列是否可以为空,是否可以链接到主键?

Table Schema
users    dmca-takedown
id------->user_id (can be null)

在你提问之前,user_id 可以为空,因为它是一个用户和非用户都可以填写的表单。另外,我相信通过表格的名称,您也了解它的用途。

让我澄清一下我的问题:我知道外键 "can" 链接到主键,但是如果数据为 null 而主 table 的数据必须不为空?

您可以将外键列声明为可为空。它对引用的 table.

没有影响

NULL 不匹配任何内容。因此外键中的 NULL 不需要用户引用的主键 table 包含带有 NULL 的行。

我感觉我以前回答过这个问题...啊是的,在这里,从 2009 年 1 月开始(将近 10 年前):

MySQL foreign key to allow NULL?