【问题标题】:handling mysql constraint errors处理mysql约束错误
【发布时间】:2009-11-08 11:51:57
【问题描述】:

我尝试在此网站上搜索解决方案,但似乎找不到任何解决方案。

我需要找到一种方法来了解我的表中的哪个字段导致了约束错误。在我的表中,比如members 表中的两个字段(用户名、电子邮件)是唯一键,并定义为除了我的唯一键主键(memberid)。当我为类似的用户和/或电子邮件地址向此表添加数据时,会发生此错误:

“key2 的重复条目 'myemail@mail.com'”

我想告诉用户哪个字段导致重复输入,以便说“该电子邮件已注册”

我似乎找不到一个 mysql 函数在插入时循环遍历错误键...

【问题讨论】:

  • 这就是为什么我通常不喜欢在 MySQL 中使用约束。我的意思是,无论如何,您的应用必须了解它们。

标签: mysql constraints unique-key


【解决方案1】:

在我的网站上,我实际上使用 Select 1 from tab where field = 'value' limit 1; 自己检查了唯一字段。只是这样我就可以给出很好的错误消息,而不是遇到从我的插入语句返回的异常。

【讨论】:

    【解决方案2】:

    我猜命名约束字段在 mysql 中还不是一个特性。希望他们认为这是非常有用的,并且可以节省大量代码时间和行数。

    【讨论】:

      猜你喜欢
      • 2018-01-20
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 2014-11-02
      • 1970-01-01
      相关资源
      最近更新 更多