暂无 |

1 错误的资料

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

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

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

mysql_18_snap_01

下列的叙述设定为「strict」模式:

mysql_18_snap_02

「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

0

java教程
php教程
php+mysql教程
ThinkPHP教程
MySQL
C语言
css
javascript
Django教程

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论