我只想知道在ZEROFILL中为INT数据类型定义MySQL的好处/用法是什么?

`id` INT UNSIGNED ZEROFILL NOT NULL

最佳答案

当您选择类型为ZEROFILL的列时,它将用零填充字段的显示值,直到字段定义中指定的显示宽度。大于显示宽度的值不会被截断。请注意,使用“零填充”还意味着未签名。

使用零填充和显示宽度不会影响数据的存储方式。它仅影响其显示方式。

以下是一些示例SQL,演示了ZEROFILL的用法:

CREATE TABLE yourtable (x INT(8) ZEROFILL NOT NULL, y INT(8) NOT NULL);
INSERT INTO yourtable (x,y) VALUES
(1, 1),
(12, 12),
(123, 123),
(123456789, 123456789);
SELECT x, y FROM yourtable;


结果:

        x          y
 00000001          1
 00000012         12
 00000123        123
123456789  123456789

07-24 09:21