文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
1 错误的资料
在规划与设计一个数据库的时候,你会针对储存资料的需求,定义每一个表格中的字段,包含字段的资料型态与其它的设定,这些定义都会影响资料的查询与维护。数据库中储存的资料应该是正确而且没有误差的,如果你尝试储存一个错误的资料,数据库应该要发现问题并告诉你不可以这样做;不过在不同的需求下,你可能会希望数据库允许不太严重的错误,不要每次都产生错误讯息。
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 | 索引 | 默认值 | 其它资讯 |
---|---|---|---|---|---|
fint | tinyint(4) | NO | NULL | ||
fchar | varchar(3) | YES | NULL | ||
fdouble | double(5, 2) | YES | NULL | ||
fdate | date | YES | NULL | ||
ftime | time | YES | NULL | ||
fenum | enum('A','B','C') | YES | NULL | ||
fset | set('A','B','C') | YES | NULL |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论