0

MYSQL 更新クエリ

あるテーブルの値を別のテーブルに更新し、そこにない場合は値を作成する必要があります。すべての値またはフォームの値を 1 つの ID から別の ID に更新するにはどうすればよいですか?

これはクエリですが、すべての ID に対して実行する必要があり、それは大変な作業です。より簡単な方法はありますか?

したがって、id_product は常に同じです

`

INSERT INTO ps_product_supplier 
(id_product_supplier, id_product, id_product_attribute, id_supplier,
product_supplier_reference, product_supplier_price_te, id_currency)  
VALUES(NULL, 6216, 0, (SELECT id_supplier FROM ps_product WHERE id_product = 6216,
(SELECT supplier_reference FROM ps_product WHERE id_product = 6216), 
(SELECT wholesale_price FROM ps_product WHERE id_product = 6216), 3);
4

1 に答える 1

3

INSERT...SELECT構文を使用します。

INSERT IGNORE INTO ps_product_supplier 
(id_product_supplier, id_product, id_product_attribute, id_supplier,
product_supplier_reference, product_supplier_price_te, id_currency)  
SELECT NULL, id_product, 0, id_supplier, supplier_reference, wholesale_price, 3
FROM ps_product

このキーワードIGNOREを使用すると、クエリは、宛先テーブルにまだ存在しないレコードのみを挿入できます。宛先テーブルのフィールドに主キー (または一意のキー) がある場合にのみ機能しますid_product_supplier

于 2012-12-21T00:41:53.900 に答える