繁体   English   中英

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

[英]Auto insert data to a mysql table column according to another Table

我有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');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM