【问题标题】:Executing 2 sql statements from same data set从同一数据集中执行 2 条 sql 语句
【发布时间】:2014-07-02 07:42:21
【问题描述】:

我想使用 PHP 同时向两个不同的表中插入数据。我有一个带有用于输入学生信息的界面的 android 应用程序。这些信息包括学生姓名、学年、课程名称和年级。

我有 2 个表,第一个表有 id、学生年份、学生班级的列。 id 列设置为自动递增。第二个表也有自己的 id 列也设置为自动增量,此外还有第一个表中的 course、grade 和 id 列。这当然是第二个表中的外键。

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

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

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

谢谢。

【问题讨论】:

  • 如果是添加单条记录,可以使用@@Identity返回插入的KEY

标签: php mysql sql database


【解决方案1】:

类似这样的:

  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 代码,因为我已经很多年没有这样做了 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2023-01-19
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    相关资源
    最近更新 更多