mysql中如何判断指定字段的重复数据则不插入?

转自http://www.tc5u.com/mysql/2583956.htm

我有一个jiaoyi 表,有以下字段:
id          (自增数字,主键)
buyer       (顾客姓名)
price       (价格)
discount    (折扣)
updatetime  (本条数据插入时间)


数据库里面已有很多数据,由于数据是从网络采集的,会有很多重复的数据,所以我想根据
buyer、price、discount 这三个字段来判断待插入的数据(A记录A)是否与数据库已有的数据(B记录)重复。
当 A记录 的这三个字段的内容与 B记录 同时都相同的时候,则不插入,否则插入。
 
注:id 与 updatetime 这两个字段不作为判断条件。

我的语句是

select 'buyer1','10','8','2013-09-19' from dual where not exists(select buyer,price,discount,updatetime from jiaoyi where buyer='buyer1')

但是好像不对啊,请问大伙应该怎么样写呢?  数据库是mysql,开发语言是c#。
谢谢。
mysql 判断数据重复 
------Solutions------
建唯一索引  用ignore into插入数据 
------Solutions------

引用 1 楼 rucypli 的回复:
建唯一索引  用ignore into插入数据


可以说详细点吗? 我新手,谢谢~~ 
------Solutions------
终于解决了
总结一下,有几个方法:

方法一:
一句sql解决

insert into 表名(待插入字段1,待插入字段2,...,待插入字段n)
select
'张三','1',...,'袜子'
from 表名 a
where not exists(select 1 from 表名 b where b.判断条件字段1='张三' and b.判断条件字段2='1' and 判断条件字段n='23531172612')



方法2:使用INSERT INTO… ON DUPLICATE KEY UPDATE
链接:
http://blog.zol.com.cn/2299/article_2298921.html
http://blog.lyphp.com/archives/527


方法3:使用符合主键,多个判断条件字段组合成一个复合主键
链接:
http://www.jb51.net/article/21382.htm

方法4:建唯一索引  用ignore into插入数据

方法5:使用存储过程,不知道mysql是否适用?
链接
http://bbs.csdn.net/topics/390316341

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值