MySQL 中的 int、tinyint 类型的长度不会影响精度,只会影响显示,例如 int(3) 结合 zerofill,查询时不足3位会在前面补0。至于没有生效可能是客户端的问题,可以尝试手动执行 SQL 修改。
int(3)
zerofill
盲猜是不是因为有数据不能改表结构,空表估计可以
看下执行的输出结果中是否包含报错信息,如果不知道怎么看输出结果,那就直接写sql来修改字段长度。报错原因很可能是像楼上说的那样,里面已经有数据了,不能减少精度