我工作的一个Web应用程序,并在一个点,我认为是用户唯一的形式,一个如何正确捕获MySQLIntegrityConstraintViolationException?
MySQLIntegrityConstraintViolationException Duplicate entry -'username' for key 'PRIMARY'
我深知这是为什么被抛出,因为我试图进入一个重复使用相同的主键进入数据库。我不希望对此有任何评论,因为这可能是多余的。
我真正要问的是我应该如何处理这个问题。我试图解决这个例外,但显然我缺乏经验已经赶上了我。
我将不胜感激您的帮助。
是否有更好的方法来检查数据库中的重复条目?
例如,我应该在检查重复成员时执行什么操作,并且仅对数据库检查匹配的用户名和密码?
感谢
假设您没有内存中的所有用户名,在尝试插入记录之前检查id是否存在会更好吗?您将针对每个插入操作进行数据库查找,而不是偶尔发生异常。 – 2013-01-07 17:43:38
您通常在该字段上有索引,因此查找速度非常快。 – Bozho 2013-01-07 20:10:02
但它仍然需要在网络上往返。这比例外要慢几个数量级。 – 2013-01-08 20:58:25