2017-03-06 101 views
-1

你好,大家好,我有一個等級/分數表在MySQL學生的記錄將被插入使用PHP。我想避免一個學生重複一個學期/學期的分數。我的意思是,學生不能有兩個(2)等級/分數在一學期(periodOne)表中的主題(數學)。我如何在MySql或PHP中完成此操作?這裏是我的表的樣子:如何避免在mysql中字段值的插入重複

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

讓我知道你是否需要額外的信息。謝謝!!!!!!

+0

使用複合主鍵,或用於現有條目首先檢查各一次。 –

+0

使用MySQL'的字段(一個或多個),應該是在孔表中是唯一UNIQUE'標誌/關鍵。 – JustOnUnderMillions

+0

@fireball自動增量字段(id)是此表中的主鍵。複合主鍵是否與其存在一致? –

回答

0

你必須在mysql中添加獨特的contraint像這樣:ALTER TABLE periodOne ADD CONSTRAINT uc_check UNIQUE(studentId, subjectId)。您還需要檢查PHP是否存在以前沒有行進行INSERT

0

您可以使用UNIQUE CONSTRAINT將屬性聲明爲「Unique」,您不希望重複值。

如果你的分數是依賴於其他一些表還那麼你可以使用複合主鍵。

+0

正確,釘住它。 –