03_MySQL_unsigned与 zerofill详解

本文详细解析了MySQL中unsigned和zerofill的作用。unsigned用于将数字类型无符号化,扩大了数值的正数范围;zerofill则在插入字段值长度不足时,在数值前补零。文中还提及了sql_mode设置的风险,建议在了解底层机制前谨慎使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值