如何解决使用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脚本修改为。
如果我缺少什么,请告诉我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。