我有一個網站的電子商務網站有一個價格表,看起來像這樣一個MySQL數據庫:INSERT INTO ....多行......在重複鍵
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]。
我已經搜索了答案,一直在桌子上撞了我的頭幾天。 任何想法?任何幫助將大大讚賞。
我很抱歉,但它是我很難破譯你的第一個方法是什麼意思。刪除AI後,我會運行這3次,每個與不同的membershipID? :REPLACE INTO mysql.pricing(priceid,prouductid,membershipid,quantity,price)從mysql.source中選擇priceid,productid,1,priceA – luxdvie 2013-04-12 17:47:29