MySQL : 当我不使用它时,如何给外键一个默认值?

MySQL : How to give a default value to a foreign key when I don't use it?

现在我有一个 table,它有两个外键,都引用不同的 table。当我在一个外键字段中插入一个值但不在另一个外键字段中时,我的插入失败,因为外键约束。当我不使用外键时,如何为引用外键的列提供默认值(如 NULL 或 0),或者使外键可选?我正在为我的 table 使用 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...