sql - 防止添加另一个表中存在的值的约束

标签 sql database-design

我想添加一个约束,如果该值存在于另一个表的主键列中,则阻止向该列添加值。这可能吗?

编辑:

表:MasterParts

MasterPartNumber(主键)
说明
....

表:AlternateParts

MasterPartNumber(复合主键,MasterParts.MasterPartNumber 的外键) AlternatePartNumber(复合主键)

问题 - 每个主零件号的备用零件号本身不能存在于主零件表中。

编辑 2:

这是一个例子:

MasterParts

MasterPartNumber    Decription         MinLevel     MaxLevel    ReOderLevel
010-00820-50        Garmin GTN™ 750    1            5           2

备用零件

       
MasterPartNumber    AlternatePartNumber         
010-00820-50        0100082050          
010-00820-50        GTN750

最佳答案

我能想到的解决这个问题的唯一方法是编写一个检查函数(不确定你使用的是什么语言),或者尝试处理表关系以确保它是唯一的

关于sql - 防止添加另一个表中存在的值的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6887157/

相关文章:

database-design - Redis ACL架构

php - 使用php生成Excel报告

php - 时间戳困惑 : solution for concurrency issue

mysql - 我有一个类似于以下的表格。我想要不同状态的单独计数

mysql - 这两个 left join sql 查询有什么区别?

mysql - 使用相似的 ITEM_ID 更改 SQL 输出

php - 如何在FB中实现 "is user online"功能?

sql - 您如何跨 sql 列强制执行条件非空检查

heroku - Redis 可以帮助规避数据库连接限制吗

firebase - 将instagram之类的rdms转换为firebase nosql