我有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/