返回介绍

1 错误的资料

发布于 2025-02-20 13:00:33 字数 1528 浏览 0 评论 0 收藏 0

在规划与设计一个数据库的时候,你会针对储存资料的需求,定义每一个表格中的字段,包含字段的资料型态与其它的设定,这些定义都会影响资料的查询与维护。数据库中储存的资料应该是正确而且没有误差的,如果你尝试储存一个错误的资料,数据库应该要发现问题并告诉你不可以这样做;不过在不同的需求下,你可能会希望数据库允许不太严重的错误,不要每次都产生错误讯息。

MySQL 数据库环境中,可以使用“sql_mode”系统变量设定数据库对于检查错误资料的“严格”程度,分为“strict”与“non-strict”两种模式。在 strict 模式下,数据库会严格的检查与发现错误的资料,而且不会储存错误的资料;在 non-strict 模式下,数据库同样会检查与发现错误的资料,不过它会尽量试着处理这些错误的资料,再把资料储存起来。

你可以依照自己的需求设定“sql_mode”系统变量,下列的指令可以设定为“non-strict”模式:

下列的叙述设定为“strict”模式:

“STRICT_TRANS_TABLES”与“STRICT_ALL_TABLES”同样可以设定为“strict”模式,在使用支援“交易、transaction”的数据库,应该要设定为“STRICT_TRANS_TABLES”,这样可以确定资料的完整性。

设定为“strict”与“non-strict”两种不同的模式,对于错误资料的处理会有很大的差异。下列是一个用来测试的表格“cmdev.debug”,它包含许多不同资料型态与设定的字段:

字段名称型态NULL索引默认值其它资讯
finttinyint(4)NONULL
fcharvarchar(3)YESNULL
fdoubledouble(5, 2)YESNULL
fdatedateYESNULL
ftimetimeYESNULL
fenumenum('A','B','C')YESNULL
fsetset('A','B','C')YESNULL

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文