从同一数据集执行2个sql语句

时间:2014-05-14 10:02:31

标签: php mysql sql database

我想使用PHP同时将数据插入两个不同的表中。我有一个Android应用程序,带有用于输入学生信息的界面。此信息包括学生姓名,学生年份,课程名称和成绩。

我有2个表,第一个表包含id,student year,student class的列。 id列设置为自动递增。第二个表也有自己的id列也设置为自动递增,另外还有第一个表中的course,grade和id列。这当然是第二个表中的外键。

我现在的问题是,在将学生姓名和学生年份插入第一个表后,如何使用该行ID,以便在插入剩余数据时将其作为外键,即第二个表ID(已设置为自动增量),课程和年级。

例如,在我的Android应用程序中,如果我输入学生名称为John David,学生年份为第三年,课程名称为Geo 101,等级为B,我想将名称和年份保存到第一个表格中成功执行之后,应将学生课程名称和成绩输入第二个表,并且刚刚输入的该行的第一个表中的id应插入到第二个表中,该列也是外部列id键引用第一个表id。

我只需要知道如何通过这不一定是代码。

感谢。

1 个答案:

答案 0 :(得分:0)

这样的事情:

  INSERT INTO foo (auto,text)
    VALUES(NULL,'text');         # generate ID by inserting NULL
  INSERT INTO foo2 (id,text)
    VALUES(LAST_INSERT_ID(),'text');  # use ID in second table

根据http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

中的文档

对于您的问题结帐的一些PHP特定教程:http://www.php.net/manual/en/function.mysql-insert-id.php

我不会试着给你写PHP代码'因为我多年没有这样做了:)