Sho*_*nte 5 mysql sql check-constraints create-table mysql-8.0
我在 MySQL 8 上尝试添加检查约束:
ALTER TABLE `table` ADD CHECK (
(`column_a` IS NULL AND `column_b` IS NOT NULL) OR
(`column_a` IS NOT NULL AND `column_b` IS NULL)
);
Run Code Online (Sandbox Code Playgroud)
但我不断收到此错误:
列“column_b”不能用于检查约束“table_chk_1”:需要在外键约束“table_ibfk_2”引用操作中使用。
我在互联网上的其他任何地方都找不到对此错误的任何参考,我不明白问题是什么。无论column_a和column_b也的外键与其它表,他们都是空。我只想确保中的每一行table都有一个引用 viacolumn_a或 via column_b。
这个错误的原因是什么?
我试图删除外键,添加检查约束并成功。然后,如果我将外键添加回,column_b我仍然会收到相同的错误。
| 归档时间: |
|
| 查看次数: |
463 次 |
| 最近记录: |