MySQL:约束两列,因此其中一列始终为NULL

dro*_*son 5 mysql

我有一个表,其中有两个列的引用到另外两个表PK.有没有办法可以限制这两列的值设置?

我只希望其中一个具有值集,而另一个是NULL

我的最爱:

id
table_1_id
table_2_id
Run Code Online (Sandbox Code Playgroud)

表格1:

id
Run Code Online (Sandbox Code Playgroud)

TABLE_2:

id
Run Code Online (Sandbox Code Playgroud)

Rie*_*sio 4

在 SQL 中,您最好使用CHECK 约束来处理此问题。

在 MySQL 中,没有直接的机制来施加这样的 CHECK 约束。如果您尝试包含其中一个,MySQL 参考手册指出(因为它是标准的一部分):

CHECK 子句被所有存储引擎解析但忽略。