MySQL:当我没有';你不用它吗?

MySQL:当我没有';你不用它吗?,mysql,foreign-keys,nullable,Mysql,Foreign Keys,Nullable,现在我有一个表,它有两个外键,两个外键都指向不同的表。当我在一个外键字段中插入值,而不是在另一个外键字段中插入值时,由于外键约束,我的插入失败。当我不使用外键时,如何为引用外键的列指定默认值(如NULL或0),或使外键成为可选的?我正在为我的表使用MySQL和XAMPP。将该列声明为可空 然后在不使用外键的情况下在列中使用NULL。首先,如果它是一个键,那么它不能是可选的,也不能是NULL/default,这是它的简单逻辑。 我不记得如何创建,但您可以创建一组密钥(组合密钥),然后您可以设置一个

现在我有一个表,它有两个外键,两个外键都指向不同的表。当我在一个外键字段中插入值,而不是在另一个外键字段中插入值时,由于外键约束,我的插入失败。当我不使用外键时,如何为引用外键的列指定默认值(如NULL或0),或使外键成为可选的?我正在为我的表使用MySQL和XAMPP。

将该列声明为可空


然后在不使用外键的情况下在列中使用NULL。

首先,如果它是一个键,那么它不能是可选的,也不能是NULL/default,这是它的简单逻辑。 我不记得如何创建,但您可以创建一组密钥(组合密钥),然后您可以设置一个默认值,至少其中一个是uniq:

<key1.a ,   0   >,
<key1.b ,   0   >,
<   0   , key2.a >,
<   0   , key2.b >,
<key1.a , key2.b >,
<key1.a , key2.c >,etc...
,
,
<0,键2.a>,
<0,键2.b>,
,
等

我在八年前就回答了这个类似的问题!嗯,这比我想象的要简单。我认为,由于该列被声明为外键,因此不能将其设置为NULL。非常感谢。