代码之家  ›  专栏  ›  技术社区  ›  Eugene Yarmash

如何对所有mysql警告进行致命错误处理?

  •  9
  • Eugene Yarmash  · 技术社区  · 14 年前

    有没有办法将所有mysql警告升级为致命错误?我想避免任何数据截断(包括小数部分)。

    2 回复  |  直到 14 年前
        1
  •  2
  •   fredt    14 年前

    在某些模式下,MySQL会发出警告,而不是SQL标准所要求的错误。

    您当然希望在删除重要数据时引发错误,但您可能不希望在COUNT(colname)表达式找到列中有空的某些行并出于计数目的忽略它们时引发错误(标准警告)。

    随着MySQL越来越符合标准,可能会添加不涉及数据完整性的警告。

    如果在更接近SQL标准的模式下使用MySQL是不够的,那么可以在应用程序代码中捕获不可接受的警告并添加适当的补偿操作。

        2
  •  5
  •   powtac    11 年前

    我不能说这是否会促进 全部的 对错误的警告,如果你已经意识到了,请道歉,但是 MySQL server modes 可能对你有用:

    传统的

    使MySQL的行为类似于传统的SQL数据库系统。此模式的一个简单描述是在向列中插入不正确的值时给出错误而不是警告。

    STRICT_ALL_TABLES TRADITIONAL :

    严格模式控制MySQL如何处理无效或丢失的输入值。值可能因多种原因无效。例如,该列的数据类型可能错误,或者超出范围