我有两个表,一个'主'和一个'孩子'表。 每个表都有一个名为'ProductNo'的字段,它被定义为PRIMARY KEY和UNIQUE。 是否可以将表'child'中的字段'ProductNo'和表'master'中的相同字段一起定义为PRIMARY + UNIQUE?2表上的主键
master:
ID | ProductNo
child:
ID | MasterID (FK on master.ID) | ProductNo
Relation >> 1 (master) : n (child)
example data:
master:
1 | 1234
2 | 4567
child:
100 | 1 | 3333
101 | 1 | 4444
102 | 2 | 5555
103 | 1 | 1234 <----- NOT ALLOWED! PRODUCT NO ALREADY EXISTING IN TABLE `MASTER`
104 | 2 | 1234 <----- NOT ALLOWED! PRODUCT NO ALREADY EXISTING IN TABLE `MASTER`
需要它来检查插入/更新表“孩子”如果“ProductNo”表“大师”已存在。
我该如何定义它? 或者我需要为此创建一个触发器?
TIA马特
你的意思是由小学+独特???主键默认是唯一的。两者之间的区别仅在于主键不接受空值 – 2012-04-27 09:35:59
您的意思是,“child”表中的某行不能与“master”中的某一行具有相同的“ProductNo”,无论其他ID是否匹配?一些示例数据和预期结果(更新允许或拒绝)将会有所帮助。 – onedaywhen 2012-04-27 09:44:24
它不允许在已经在表master中的'child'中产生ProductNo。 – frgtv10 2012-04-27 09:47:26