mysql int(11)字段左边自动补零了

开发中取一个int(11)类型的字段,字段保存的是年周,类似“201622”,然后前台需要转换成周的起始日期。

再取的时候发现这个字段前会补充“0”,变成“00000201622”,导致前台转换出错。

经过核查发现不知道什么时候表字段定义出现偏差,加了ZEROFILL属性

SHOW CREATE TABLE table_name 或 DESC table_name 可以查看create语句,

字段的ZEROFILL属性,会在数字长度不够的数据前面填充0,以达到设定的长度。

SHOW CREATE TABLE `r_channel_detail_week`;

CREATE TABLE `r_channel_detail_week` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `product_id` bigint(20) DEFAULT NULL COMMENT '产品ID',
  `channel_code` varchar(255) NOT NULL,
  `tree_node` varchar(255) DEFAULT NULL,
  `year_week` int(11) unsigned zerofill NOT NULL DEFAULT '00000000000' COMMENT '年周',
  `reg` int(11) NOT NULL DEFAULT '0',
  `reg_active` int(11) NOT NULL DEFAULT '0',

mysql int(11)字段左边自动补零了_第1张图片

你可能感兴趣的:(Database)