次のような価格表を持つ Web コマース サイト用の mysql データベースがあります。
priceid (int, PK, AI)
productid (int)
membershipid (int)
price (decimal(12,2))
quantity (int)
membershipid
これにより、アイテムはまたはに基づいて異なるレベルの価格設定を持つことができますquantity
(ただし、ここでは値は常に 1 になります)。
次のようなソース テーブルでこれを更新する必要があります。
productid (int,PK)
price1 (int)
price2 (int)
price3 (int)
データを挿入する方法がわかりません:
COLS:[productid, price, membershipid, quantity][priceid]
ROWS:[productid, price1, 1, 1][n]
ROWS:[productid, price2, 2, 1][n]
ROWS:[productid, price3, 5, 1][n]
( n = 新しい挿入の ID、または既に存在する場合は PK 更新 )
次のコードが機能しないことはわかっていますが、本質的に、私がする必要があるのはこれです:
INSERT INTO mysql.pricing
(prouductid, membershipid, quantity, price)
SELECT productid, 1, 1, price1 from mysql.source 'row n
SELECT productid, 2, 1, price2 from mysql.source 'row n+1
SELECT productid, 5, 1, price3 from mysql.source 'row n+2
ON DUPLICATE KEY UPDATE productid = VALUES(productid),membershipid = VALUES(membership), quantity = VALUES(quantity), price = VALUES(price);
[productid] は同じで [priceid、membershipid、price] が異なる 3 つの異なる行が必要です。
私は答えを探し、何日も頭を机にぶつけていました。何か案は?どんな助けでも大歓迎です。