0

注文-:

order_id(PK)    item     status  order_no
1               pant        0       100
2               shirt       1       200  

製品-:

   prod_id(Fk)    id(pk)   price     quantity   order_no  status
   1               1         10          2          100        0
   1               2         20          3          100        0   
   2               3         15          1          200        1

これらは私の2つの表です-注文と製品。

何が起こったのかというと、データを製品テーブルに挿入します。私のクエリでは、最初に注文テーブルのステータスを確認し、0の場合は、製品テーブルにデータを追加します。

私のプログラムはCRONジョブを実行します。そのため、注文ステータスをチェックするたびに、0の場合は、同じデータが製品テーブルに再度追加されます。

つまり、私の製品テーブルは次のようになります

 prod_id(Fk)    id(pk)   price     quantity   order_no  status
   1               1         10          2          100        0
   1               2         20          3          100        0   
   2               3         15          1          200        1
   1               4         10          2          100        0
   1               5         20          3          100        0   

欲しくない。私のid列は自動インクリメントされるpkです...では、 Productテーブルへのデータの重複をどのように回避する必要がありますか?

同じデータを更新または置換する方法はありますか?

plzは私を導きます。

4

1 に答える 1

3

(またはレコードを挿入ではなく更新することを決定する列)にUNIQUEインデックスを作成し、または のいずれかを使用します。prod_idINSERT ... ON DUPLICATE KEY UPDATEREPLACE

于 2012-05-09T17:55:31.207 に答える