我会试着解释我需要做什么。
我有一张桌子,在这张桌子上我有 ID。这个 ID 是我的主键(auto_increment)。我还有第二张桌子。
我需要的是当我在我的秒表中保存一些东西时,我想使用我的第一个表的 ID。
我读过很多东西,但我只是从中得到更多的头痛,所以如果有人能帮助我,我将不胜感激。
数据库
您需要外键的概念。这可以被定义为一个约束或只是这样使用。假设您有“教师”和“学生”,学生被分配给一位教师。所以老师有一个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
为您的学生条目。
Declare @id int
SET @id=1
INSERT INTO table2(col1,col2...)
select col1,col2... from table1 where ID=@id
你没有说你在 php 中使用的是哪个版本的 mySQL,但是使用 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