使用mySQL和PHP从一个表插入另一个表中检索两列

|| 我在mySQL中有两个表,尤其是accounts和subscriber_data。 我想使用帐户表(id,name)中存在的两列,并将其插入到subscriber_data表的两列中(sub_id,value)。 我似乎无法找到一种方法来检索此信息并将其放入另一个表中,而不必将其堆积在同一行的相同值字段中,例如:0、0、1 目前,我的PHP如下所示:
$sql = \"SELECT * FROM accounts\";
$result = mysql_query($sql);

while($alt_result = mysql_fetch_array($result, MYSQL_NUM)){
$id[] = $alt_result[0];
$value1[] = $alt_result[1];
}
$idstring = implode(\', \', $id); 
$value1 = implode(\', \', $value1); 


$sql = \"INSERT INTO subscriber_data (field_id, sub_id, value) VALUES(\'1\', \'$idstring\', \'$value1\') ON DUPLICATE KEY UPDATE value=\'$value1\'\";
$result = mysql_query($sql);
我是新手,显然做错了事...我搜索了一下,找不到答案。 谢谢。     
已邀请:
在调用插入脚本之前,我最初没有看到您在PHP中做什么。可能是因为我不习惯PHP脚本编写,尽管更多的可能是因为我当时没有足够的注意。 因此,据我所知您在做什么,您似乎做错了路。 如果需要将一个表中的值插入到另一表中,则只需使用
INSERT...SELECT
构造。 在您的情况下,可能应该是这样的:
INSERT INTO subscriber_data (field_id, sub_id, value)
SELECT \'1\', id, name
FROM accounts
请注意,这是一条指令,它将替换代码中的
SELECT...
INSERT...
。我认为,仅在上面保留PHP脚本的最后两行就足够了,根据我的建议,只需将存储到
$sql
的SQL脚本修改为。 如果我缺少什么,请告诉我。     

要回复问题请先登录注册