Mysql 如果第二个表';s列是否可以为空?

Mysql 如果第二个表';s列是否可以为空?,mysql,foreign-keys,primary-key,Mysql,Foreign Keys,Primary Key,我还在学习外键是如何工作的,我想知道一列是否可以为null,它是否可以链接到主键 Table Schema users dmca-takedown id------->user_id (can be null) 在您询问之前,user_id可以为null,因为它是一个可以由用户和非用户填写的表单。另外,我相信通过表单的名称,您也了解它的用途 让我澄清一下我的问题:我知道外键“可以”链接到主键,但是如果主表的数据不能为null,那么如果数据为null,会不会导致约束问题?可以将外键列

我还在学习外键是如何工作的,我想知道一列是否可以为null,它是否可以链接到主键

Table Schema
users    dmca-takedown
id------->user_id (can be null)
在您询问之前,user_id可以为null,因为它是一个可以由用户和非用户填写的表单。另外,我相信通过表单的名称,您也了解它的用途


让我澄清一下我的问题:我知道外键“可以”链接到主键,但是如果主表的数据不能为null,那么如果数据为null,会不会导致约束问题?

可以将外键列声明为null。它对引用的表没有影响

空值与任何内容都不匹配。因此,外键中的NULL不要求users表的被引用主键包含NULL行

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


什么是SQL反模式?这是我写的一本书的主题:是的,我看到了。只是想知道什么是反模式。也许我会考虑在我拿到报酬后买这本书。从:“什么是反模式?反模式是一种旨在解决问题的技术,但通常会导致其他问题。反模式广泛地以不同的方式实践,但具有共同的线索。”“SQL反模式描述了人们在使用SQL时最常犯的错误,我在技术支持和培训课程中与他们交谈,与他们一起开发软件,并在Internet论坛上回答他们的问题。”