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

这是我的两张表——订单和产品。

发生的事情是将数据插入到产品表中,我的查询首先检查订单表的状态,如果为 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 表中?

有什么方法可以更新或替换相同的数据?

请指导我..

4

1 回答 1

3

在(或确定要更新而不是插入记录的任何列)上创建UNIQUE索引,然后使用或。prod_idINSERT ... ON DUPLICATE KEY UPDATEREPLACE

于 2012-05-09T17:55:31.207 回答