我有一个网站的电子商务网站有一个价格表,看起来像这样一个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