php - 根据另一个表自动将数据插入到mysql表列

标签 php mysql sql

我有4个mysql表,Table_1,Table_2,Table_3,Table_4 Table_1,包括名为(item2_ID,item2_name,Item3_ID,item3_name,item4_ID,item4_ID)的6列和表Table_2,Table_3,Table_4每个都有两列名为(item2_ID,item2_name),(item3_ID,item3_name),(item4_ID,item4_name)其中将每个唯一的 item_ID 分配给一个 item_name。

通过 php 和 html 表单,我只收到要插入到 Table_1 ID 列中的项目 ID。 现在我希望根据其他 3 个表将 Item_names 自动插入到 Table_1 的“Item_name”列中。因此,例如,Table_1 中的一行将包含所有 item_ID(通过 html 表单接收)和所有 item_name(使用其他 3 个表插入到同一行中)。我怎样才能做到这一点?提前致谢。

最佳答案

假设您将表单中的项目 id 值分配给 php 变量 $itemID。您的查询将如下所示:

INSERT INTO Table_1 (item_id, item_name) SELECT t2.item_id, t2.item_name FROM Table_2 t2 WHERE t2.item_id = $itemID

请注意,从 select 语句插入时不需要关键字 VALUES

我会保留以上内容,以备您需要时引用。至于新问题,我会用 PHP 来完成,而不是作为查询。

只需从 3 个表中选择值到一个数组中,然后构建一个插入查询:

假设您有一个从 select 语句中获得的数组(我们称之为 $myvalues):

Array
(
    [0] => 1
    [1] => Name2
    [2] => 2
    [3] => Name3
    [4] => 3
    [5] => Name4
)

为了简单起见,这是您的查询:

$query = "INSERT INTO Table_2 VALUES ('" . implode("','", $myvalues) . "')";

这会给你:

INSERT INTO Table_2 VALUES ('1','Name2','2','Name3','3','Name4');

关于php - 根据另一个表自动将数据插入到mysql表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25373606/

相关文章:

php - Codeigniter 字限制器关闭 html 标签

php - 使用 MySQL 和 mysqli 通过 IP 地址连接到 mysql

java - 不允许用户通过更改系统日期来更新回溯日期的表

php - 将一个单元格的值超链接到另一个单元格

sql - 当主表用于其他表时,如何防止在表中输入值?

mysql - 触发器不适用于 MySql

sql - 仅子查询和连接哪个更好?

javascript - 如何隐藏背景 HDR 贴图的显示,但保存 hdri 在 Three.js 中对光照所做的工作?

php - 复选框仅返回第一个值

c# - 如何获取存储过程和C#代码中的总记录?