CustID(一意ではない)、ProdID(一意でない)およびPriceのフィールドを持つ3列(すべて数値)の表があります。唯一の「一意性」は、CustID/ProdIDペアが複製されないことです。だから、すべてのクライアントはすべての製品に異なる '価格'を持っています。私は3行の方法を使用しています。 (a)ペアが存在するかどうかの検索、(b)価格が更新されている場合、(c)新しいペアを価格とともに挿入しない場合は、MySql Updateフィールドまたは挿入されていない場合は、プライマリキーなし
誰でもREPLACE命令を使用する方法を提案できますが、ほとんどのINSERT/ON DUPEの例は、主キーが必要であることを暗示しているようです。私は通常、常にpkを持っていますが、この要件のために無駄に見えました。私を助ける時間を持つ人に多くのおかげです。 Ken Ashton
申し訳ありませんが、マイケルはすでに私に例を与えていました。私は今投票を考えます。多くのありがとうございます。
実際には、パフォーマンス目的ではなく、完全性を維持するために、「CustID/ProdID」に一意のインデックスを作成する必要があります。 –
'CREATE INDEX idx_unique_custprod on tblname(CustID、ProdID)' –
また、PKとして作成する方がいいでしょう。 –