如何避免在mysql

时间:2017-03-06 11:31:58

标签: php mysql

大家好,我在MySql中有一个成绩/分数表,学生记录将被插入使用php。我想避免学生在一个学期/期间重复分数。我的意思是,学生在一个学期(periodOne)表中不能有一个科目(数学)的两(2)个成绩/分数。如何在MySql或php中完成此操作?这是我的表格的样子:

table periodOne (
  id int AUTO_INCREMENT,
  studentId int,
  subjectId int,
  score
) 

如果您需要额外信息,请与我们联系。感谢!!!!!!

2 个答案:

答案 0 :(得分:0)

你必须在mysql中添加一个独特的约束:ALTER TABLE periodOne ADD CONSTRAINT uc_check UNIQUE(studentId, subjectId)。您还必须先与PHP核实在执行INSERT之前没有现有行

答案 1 :(得分:0)

您可以使用不需要重复值的UNIQUE CONSTRAINT将属性声明为“唯一”。

如果您的分数也依赖于其他表,那么您可以使用复合主键。