0

私はこれが完全に間違った方法であると仮定しています。誰か助けてもらえますか?

あるテーブルから特定の商品番号の行をすべて取り出し、売れたら別のテーブルに入れたいと考えています。

前もって感謝します。

$addinfo1 ="";
    //Connect to the database through our include
include_once "connect_to_mysql.php";
$sql = mysql_query("SELECT * FROM tm_interested_buyers WHERE fk_product_id='$productid");

while($row = mysql_fetch_array($sql)){
$interestedbuyersid = $row["pk_interested_buyers_id"];
$fkproductid = $row["fk_product_id"];
$fkcustomerid = $row["fk_customer_id"];

    $addinfo1 .= mysql_query("INSERT INTO tm_int_buyers_complete (fk_interested_buyers_id, fk_product_id, fk_customer_id) VALUES('$interestedbuyersid','$fkproductid','$fkcustomerid')") or die (mysql_error());
echo $addinfo1;
}
4

3 に答える 3

1

次の 1 つのクエリだけが必要です。

INSERT INTO tm_int_buyers_complete (fk_interested_buyers_id, fk_product_id, fk_customer_id) 
SELECT pk_interested_buyers_id, fk_product_id, fk_customer_id 
   FROM tm_interested_buyers
   WHERE fk_product_id='$productid'

これにより、select ステートメント (2 行目以降) が、指定したい値を持つ元の select になります。これにより、選択したすべての行をテーブル (一番上の行) に挿入できます。

于 2012-06-13T19:23:23.587 に答える
0

INSERT INTO SELECT を使用します。

はるかに簡単です。

INSERT INTO tm_int_buyers_complete (`fk_interested_buyers_id`, `fk_product_id`,
`fk_customer_id`) SELECT tm_interested_buyers.pk_interested_buyers_id,
tm_interested_buyers.fk_product_id, tm_interested_buyers.fk_customer_id
FROM tm_interested_buyers WHERE tm_interested_buyers.fk_product_id='$productid'
于 2012-06-13T19:28:40.643 に答える
0

SELECT から INSERT クエリを 1 つだけ使用します。

INSERT INTO `tm_int_buyers_complete` (fk_interested_buyers_id, fk_product_id,     fk_customer_id)
  SELECT fk_interested_buyers_id, fk_product_id, fk_customer_id
  FROM `tm_interested_buyers` WHERE fk_product_id='$productid";
于 2012-06-13T19:24:16.737 に答える