3
給定兩個表:更新如果重複插入?在INSERT上自動增量PK?
`Students`
id int, primary, auto-increment
sid int
fname varchar
lname varchar
`Registration`
id int, primary, auto-increment
student_sid int
coursenum int
有沒有辦法來填充Students
與每次登記的類的coursenum新列?因此,每次爲給定sid添加第二個coursenum時,students.id會自動遞增,並保留爲主鍵,而帶有sid,fname,lname和new coursenum的新行將添加到表中。
它有點像INSERT ... IF DUPLICATE UPDATE的倒退版本。我想更新...如果重複插入。
這似乎是一件很奇怪的事情想要做。可能想重新考慮你的數據庫設計。我希望你在Students表中只有一個ID字段(稱爲studentID),每個學生一個記錄。註冊表可以有自己的ID字段,但似乎沒有必要。它應該有一個studentID字段和coursenum字段。每個學生每門課一次入學,所以如果三名學生每次上四門課,學生表中將有三個條目,註冊表中有12個條目。 – Travesty3 2012-02-27 19:41:59
此外,您可能想使用courseID而不是coursenum,並有另一個關係表,其中包含有關每門課程(名稱,編號,教授,學分等)的信息。 – Travesty3 2012-02-27 19:43:46
同意!我無法控制數據庫設計,也無法控制這些表中需要這些字段的應用程序。我只是試圖找到一種方法來用查詢來填充數據,而不是用手來填充。 – Beatrice 2012-02-27 19:44:09