【问题标题】:MYSQL Inserting Data Into Table Using Indexed TableMYSQL 使用索引表将数据插入表中
【发布时间】:2019-11-20 00:13:35
【问题描述】:

如果有人提交了在两个表中编入索引的 ID,我正在尝试找出是否可以将数据从一个表插入到另一个表中。

例如:

我的表 A 有:ID | First Name | Last Name | Course

表 B 有:ID | Name | Course

表 A 有数据:32 | John | Doe | IT

并且表 B 将从用户输入的表单接收其数据。

如果用户在表格上输入#32 并用表 A ID 列索引,我如何自动将表 A 中的名字和姓氏列插入表 B?

我正在尝试使用普通的 Insert Into 并为名称的值选择表格列,但它似乎没有读取它。

$upload = "INSERT INTO `TableB` ( `ID`, `Name`, `Course`) VALUES ('$id','(SELECT FirstName FROM TableA WHERE ID = '$borrow_id'),' '$course');";

我在想也许我可以从提交的表单中选择ID,如果表A中有类似的数据,它将从中获取其他数据并将其插入表B。

【问题讨论】:

  • 请不要只要求我们为您解决问题。向我们展示您是如何尝试自己解决问题的,然后向我们确切展示结果是什么,并告诉我们您为什么觉得它不起作用。向我们明确解释什么不起作用并提供a Minimal, Complete, and Verifiable example。阅读How to Ask 一个好问题。请务必take the tour 并阅读this
  • 好的,谢谢。我会编辑。

标签: php mysql


【解决方案1】:

你的逻辑差不多了,你只是语法错误。您可以在 TableB 上使用 INSERT..SELECT 语句从 TableA 中选择您想要的数据,所以它应该看起来像这样:

<?php

$upload = "INSERT INTO `TableB` ( `ID`, `Name`, `Course`) SELECT $id, FirstName, $course FROM TableA WHERE ID = '$borrow_id;";

要进行测试,您只需复制查询的SELECT 部分并在数据库上执行以查看数据是否正确。请记住,此语句应具有插入中的确切列数并且顺序相同。

【讨论】:

    猜你喜欢
    • 2020-02-26
    • 2021-08-22
    • 1970-01-01
    • 2019-07-13
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    相关资源
    最近更新 更多