使用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脚本修改为。 如果我缺少什么,请告诉我。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...