mysql ignore

ignore是根据表的索引是进行过滤的,包括主键(唯一索引)和自定义的。
前几天做一个邮件验证系统时遇到一个问题,一个用户表,用户名是邮箱地址,并且是唯一索引。如果用户在更改资料是,改成其他用户的邮箱,就mysql运行sql 语句是会报错(确保用户邮箱的唯一性)。如果用IGNORE,则可以,屏敝错误,正常运行。

insert ignore into  // 数据重复判断,重复的数据无法插入
当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。例如:
INSERT IGNORE INTO books (name) VALUES ('MySQL Manual')
 
 
如果我的语句是insert ignore into tt(name,password,update_dt) values('phl','123',now()) 这样的话,它能过滤重复吗?
可以,是根据你的unique索引来决定是否过滤的

如果这样的话
你的建表语句中还需要添加
ALTER TABLE `tt`
ADD UNIQUE INDEX (`name`, `password`)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值