sql - 是否有任何选项可以使用其他字段的值来限制字段的值?
问题描述
SQL 问题。
想象一下,我有一个包含以下字段的表格:
- 团队1
- 团队2
- 优胜者
我可以做些什么来将“获胜者”的价值限制为“团队1”或“团队2”的价值吗?
(team1 和 team2 是“团队”表的外部字段)
所以,如果我有团队:
- 皇家马德里
- 曼彻斯特城
- 尤文图斯
而这场比赛是皇马vs尤文图斯,我不想给机会让“曼城”成为“赢家”。
解决方案
在oracle数据库中,可以使用CHECK约束来实现。我不确定其他数据库。
CREATE TABLE TAB1
(COL1 NUMBER,
COL2 NUMBER,
COL3 NUMBER
CONSTRAINT CHK1 CHECK (COL3 IN (COL1,COL2) ))
干杯!!
推荐阅读
- python - 在 PyQt 的子窗口中从父窗口访问数据
- javascript - 在某些浏览器中使用手风琴时不会出现 Tweet 按钮
- javascript - 反应计时器代码不起作用,每次输出 2
- php - 在 Laravel 中显示时区名称
- vba - VBA 在命名范围上尝试求和函数时出现运行时错误
- python - 访问类型为 Union 的变量的属性会引发错误
- javascript - 在 ReactJS 中,如何在迭代非浅层数据结构时最好地组织我的代码
- javascript - 在新窗口中打开图像出现javascript的空白页面
- laravel-5 - Laravel 和 Vue.js API 文件上传不起作用
- java - Socket java 向服务器传输一个位串。StringBuilder 转移