我有一个3字段(所有数字)表字段CustID(不唯一),ProdID(不唯一)和价格。唯一的'唯一性'是没有CustID/ProdID对重复。所以,每个客户对每种产品都有不同的“价格”。我正在使用三行方法。 (a)搜索是否存在对,(b)如果是,则更新价格,(c)如果不存在,则用价格插入新对。我还没有创建id的索引(它可以用于开发目的)MySql更新字段或插入如果不存在,没有主键
任何人都可以提出一种使用REPLACE指令的方法,大多数INSERT/ON DUPE示例似乎暗示主键是必要的。我通常总是有一个pk,对于这个要求看起来很浪费。非常感谢有时间帮助我的人。 Ken Ashton
对不起,迈克尔,你已经给了我这个例子。我会找出现在的投票,非常感谢球员
您确实应该在'CustID/ProdID'中创建一个唯一的索引,而不是用于性能目的,以保持完整性。 – 2012-03-16 14:44:50
CREATE INDEX idx_unique_custprod ON tblname(CustID,ProdID)' – 2012-03-16 14:45:49
或者更好的是,将它们创建为PK:'ALTER TABLE tblname ADD PRIMARY KEY(CustID,ProdID)' – 2012-03-16 14:47:25