背景:CREATE TABLE t2_int(
num1 INT ZEROFILL,
num2 INT(3) ZEROFILL,
num3 INT(3)
);
DESC t2_int;
问题:
INSERT INTO t2_int VALUES (1, 1, 1);
SELECT * FROM t2_int;
INSERT INTO t2_int(NUM1, NUM2, NUM3) VALUES (1, 1, 1);
SELECT * FROM t2_int;
按照理论来说应该显示两行下图的然而 运行结果为:
????为什么num2宽度不是3位而是十位?????
继续尝试,添加1314
INSERT INTO t2_int(NUM1, NUM2, NUM3) VALUES (1314, 1314, 1314);
SELECT * FROM t2_int;
结果为就很迷…为什么num2不是显示1314????
尝试将宽度3换成5
CREATE TABLE t3_int(
num1 INT ZEROFILL,
num2 INT(5) ZEROFILL,
num3 INT(3)
);
INSERT INTO t3_int(NUM1, NUM2, NUM3) VALUES (1, 1, 1);
SELECT * FROM t3_int;
依旧显示的是INT默认宽度10
解答:问GPT说是 MySQL 实际显示可能会受不同的配置和版本影响?????
有些懒得换版本尝试,先挖个坑,后续再解决,希望有大佬可以解救我
后续:看评论,估计是Datagrip的bug…