2012-07-03 43 views
0

我是mySQL的新手。我從兩個表格創建了一個連接表:如何填充連接表?

students 
=============================== 
id(auto) 
name 

homeworks 
=============================== 
id(auto) 
description 

students_homeworks 
=============================== 
idStudentHomework(auto) 
idStudent 
idHomework 

學生應在我的網站填寫表格並提供他的姓名和作業說明。據我所知,我可以在我的php代碼中查詢數據庫,並將INSERT student.name和homework.description分別填寫到相應的表中。 但我應該如何填寫students_homeworks表? 我應該再次查詢兩個表並找到ID,然後填充連接表? (我用Google搜索,但只發現瞭如何創建連接表和SQL JOIN命令)

回答

0
1. insert into student(name) values ('john') 
2. select max(id) from student 
3. insert into homeworks(description) values ('maths') 
4. select max(id) from homeworks 
5. insert into students_homeworks (idStudent, idHomework) values(1, 1) 
+0

謝謝juergen但我沒有得到值(1,1)。不應該將max(id)s存儲在變量中並執行值($ id1,$ id2)? –

+0

是的,使用'max(id)'值。 –

+0

它似乎有點'不優化'。這是標準的方式嗎?或對我來說是一種新的方式? –

2

如果學生&作業ID是自動增量,您可以使用函數LAST_INSERT_ID 確定先前插入記錄的ID。

0

如果作業描述是由用戶填寫的文本框。沒有必要爲它創建一個單獨的表。

如果用戶有固定值(例如,下拉列表),則只能創建一個單獨的作業說明。

+0

謝謝sel,但實際上我有8張桌子用於作業和學生的詳細信息。我在這裏簡化了它 –