通用用例:
trigger业务测试
mysql的trigger业务测试回归:
trigger就是触发器,是特殊的一种存储过程,在满足的一定情况下会触发,并执行里面的语句集合。
数据库查询:show triggers\G
如果有的话都是重点测试的。
严格模式校验:
5.7默认开启严格模式,5.5则没有默认开启,开启严格模式后使数据更加安全严格,但缺点是减少了对空数据入库的兼容性
主要有以下几种情况:
1.not null的字段没有传入默认值
比如
例子:
create table class( id int not null primary key auto_increment, name char(16) not NULL, score int(15) not NULL )
insert into class(score) values(22);
5.5下,会默认给你加个空格:
5.7下则直接报错:
2.传入默认值类型错误:
int类型传入了空值,还是以上面的例子为例:
insert into class(score) values('');
旧版5.5,空字符默认转化为0。
5.7则直接报错
3.数据长度截取:
还是以上面的例子为例,输入超长度的代码
insert into class(name) values('ceshiguanlipingtai');
5.5下则截断:
5.7下,则会报错
其他类似的:
严格模式:
不支持对自增长字段插入’ '值
不支持text字段有默认值
数据查询校验:
5.7MySQL数据get后跟5.5默认的顺序有可能不一样。
比如某业务下的数据
5.5
5.7结果:
图中可以看出默认的排序是不一致的。有些业务对排序可能会有些要求。