我正在尝试制作在线考试系统。我有三张桌子。表"student“包含学生的详细信息,列id唯一标识学生。表" tests“具有所有可用测试的详细信息,并且有一个列id,其中包含测试的id。然后我有包含问题和答案的测试表。
现在我希望,如果任何学生出现在测试中,它不能再次出现在该测试中。我怎样才能做到这一点呢?请帮帮忙。提前谢谢。
发布于 2016-06-10 01:22:41
啊哈。如果您需要创建关系表...首先制作一张表,将student_id和test_id联系起来。执行此操作时,您可以在多个列上创建主键:
CREATE TABLE students_tests
(
FOREIGN KEY student_id REFERENCES student(id) ,
FOREIGN KEY test_id REFERENCES tests(id)
PRIMARY KEY (student_id,test_id)
)但是,如果您已经具有具有主键的关系表,则可以使用ALTER table ...添加唯一的命令。这个问题已经在这里得到了回答:
How do I specify unique constraint for multiple columns in MySQL?
https://stackoverflow.com/questions/37732171
复制相似问题