繁体   English   中英

Mysql tinyint使用最大显示宽度参数

[英]MySql tinyint using maximum display width parameter

MySql 文档指出:

M表示整数类型的最大显示宽度。

我有:

CREATE TABLE `one` (x TINYINT(2));// set the display value to 2 digits

INSERT INTO `one` (x) VALUES (9);

SELECT * FROM `one`;

输出:

+------+
| x    |
+------+
|    9 |
+------+

两位显示宽度在哪里; 我看到一个4位数的宽度视图,如下所示:

+------+
| x    |
+------+
| 0009 |
+------+

显示宽度是客户端的一种表示性提示,命令行客户端似乎可以忽略,并且可以随意这样做。

MySQL本身唯一使用显示宽度的时间是在列上指定ZEROFILL时-包含值684int(4)将被检索为0684

在该主题中还可以找到很多信息,特别是此答案增加了一些额外的信息。

我建议您尝试在该列上添加NOT NULL约束。

请注意,该列中的NULL值将显示为NULL ,这(并不奇怪)需要4个显示字符。

INSERT INTO one VALUES (NULL);
SELECT * FROM one;

+------+
| x    |
+------+
|    9 |
| NULL |
+------+
2 rows in set (0.00 sec)

CREATE TABLE two (x TINYINT(2) NOT NULL);
INSERT INTO two VALUES (9);
SELECT * FROM two;

+---+
| x |
+---+
| 9 |
+---+
1 row in set (0.00 sec)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM