如何避免重复数据进入Mysql表?

时间:2012-05-09 17:45:52

标签: php mysql duplicates duplicate-removal duplicate-data

顺序 - :

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

这是我的两张桌子:order&产品

发生的事情是将数据插入到产品表中,我的查询首先检查订单表的状态&如果为0,则将数据添加到产品表中。

我的程序运行CRON job..so每次只检查订单状态&如果是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表?

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

引导我..

1 个答案:

答案 0 :(得分:3)

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