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...
现在我有一个 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...