2012-09-14 18 views
-3

我要试着解释我需要做什么。PHP MYSQL使用1个ID作为另一个表

我有一张桌子,在那张桌子上有ID。这个ID是我的主键(auto_increment)。 我还有第二张桌子。

我需要的是当我在秒表中保存某些东西时我想使用我的第一张表的ID。

我已经读了很多东西,但我只是从中得到了更多的头痛,所以如果任何人都可以帮助我,我会成为gratefull。

Rgrds

+5

插入表1.获取插入ID,将其保存到变量中。为表2创建第二个查询,在适当的地方使用变量id。利润! – deceze

回答

3

你需要一个外键的概念。这可以被定义为一个约束或者就这样使用。假设你有“教师”和“学生”,学生分配给一位教师。所以老师有一个ID。现在你的“学生”表也有一个ID(它是主键)和一个外键TEACHER_ID,它指的是老师的条目。

ALTER TABLE `Pupils` ADD FOREIGN KEY (TEACHER_ID) REFERENCES `Teachers` (ID) 

将创建一个约束,即TEACHER_ID指的是教师的ID

在PHP中,如果一次创建两个条目。您可以先插入老师,然后使用:

$teacherID = mysql_insert_id(); 

将返回你最后auto_increment值(在这种情况下,你的老师ID),然后将此作为TEACHER_ID为你的学生入境。

+0

谢谢大家的回答,我很抱歉缺乏信息。 彼得,我会尝试你的答案 – Mohtje61

+0

请看,MySQL中的外键声明是可选的。不需要使用'mysql_insert_id()' –

+0

问题解决了欢呼声。 btw很好的例子:) – Mohtje61

0

你不说你正在使用哪个版本的MySQL和PHP,但与mysqli的,你可以使用mysqli_insert_id功能(mysql_insert_id也适用)例如:

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)"; 
mysqli_query($link, $query); 

printf ("New Record has id %d.\n", mysqli_insert_id($link)); 

欲了解更多信息,请参阅:http://us3.php.net/manual/en/mysqli.insert-id.php

相关问题