1.unsigned的作用
unsigned 就是将数字类型无符号化, 例如 int 型的范围:-2^31 ~ 2^31 - 1,而unsigned int的范围:0 ~ 2^32。
sql_mode 的设置是有风险的,因为可以通过这个设置允许一些非法的操作。如将 null 值插入not null字段,将非法的日期2017-12-32插入到日期字段。一般在生产环境都都设置为严格模式。所以在不熟悉MySQL底层机制或者不了解 unsigned 原理时,慎用它。
2.zerofill的作用
当插入mysql中该字段的值的长度小于定义的长度时,会在数值前面补全相应数据的0。
alter table t_test1 change column a a int(4) unsigned zerofill;
[外链图片转存失败(img-LhIsdv74-1567321305817)(assets/1567321011755.png)]
67321305817)]
本文详细解析了MySQL中unsigned和zerofill的作用。unsigned用于将数字类型无符号化,扩大了数值的正数范围;zerofill则在插入字段值长度不足时,在数值前补零。文中还提及了sql_mode设置的风险,建议在了解底层机制前谨慎使用。
106

被折叠的 条评论
为什么被折叠?



