是否可以让下一个生成的行的ID(跨2个表)是唯一的?
我有4张桌子:
relations 表有3个外键。 一个是教师ID,一个是学生ID,另一个是项目ID
由于项目可以同时与教师和学生相关,我如何确保新创建的教师或学生不会拥有其他类型帐户已使用过的ID?
如果我可以这样做,那么关系表只有3列: ID,project_ID和related_to(ID)
如果没有,我将不得不添加第4行,表明与其相关的帐户类型(学生或教师)。
感谢您的帮助!
关于帐户类型之间的区别: 我必须将这个完全相同的情况转换为我的另一个项目,其中前两个表格完全不同。这就是为什么我不打算在这里合并学生和教师表。
答案 0 :(得分:1)
您不需要在student
和teacher
表之间具有唯一值,因为关系表为每个关系都有单独的字段,因此没有冲突。
但是,这不是正确的做事方式。您需要两个关系表teacher_project
和student_project
。或者,根据教师和学生之间不同的独特数据,您可以拥有一个person
表和一个单独的关系,这可能更接近现实世界。
答案 1 :(得分:0)
我认为你可以确定教师从1开始,增量2;学生从2开始增量2.通过这种方式,奇数指老师,偶数指学生。不会发生冲突。