【发布时间】:2011-08-26 05:47:39
【问题描述】:
我在 mySQL 中有两个表,特别是accounts 和subscriber_data。
我想使用accounts表中的两列(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);
我是这方面的新手,显然做错了什么......我搜索并找不到答案。
谢谢。
【问题讨论】:
-
你试过
SELECT id, name FROM accounts而不是SELECT * FROM accounts吗? -
是的,我有。但我不确定如何使用该结果将其插入到新数据库中......
-
我会做@Andriy M: $sql = "INSERT INTO subscriber_data (field_id, sub_id, value) VALUES('1', '$result') ON DUPLICATE KEY UPDATE value='$value1 '"; $result = mysql_query($sql);
标签: sql arrays merge insert implode