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