INT(10)和INT(12)之间有什么区别(当应用于我的代码时)?

Cit*_*zen 6 php mysql sql

如果我使用INT(12)vs INT(10)或INT(8),那么就我在代码中使用它实际上会做什么?

(这是前一个问题的分离)我阅读了手册,我想我明白他们在说什么,但我实际上并不知道它将如何应用于我的php/mysql编码.

有人可以提供一个实际上重要的例子吗?

Bil*_*win 17

MySQL中整数类型的参数对数据的存储或每种数据类型支持的值范围没有影响.

该参数仅适用于显示宽度,可由Jonathan Fingland提及的应用程序使用.当与ZEROFILL选项结合使用时,它也会出现:

CREATE TABLE foo (
  i INT(3) ZEROFILL, 
  j INT(6) ZEROFILL, 
  k INT(11) ZEROFILL
);
INSERT INTO foo (i, j, k) VALUES (123, 456, 789);
SELECT * FROM foo;

+------+--------+-------------+
| i    | j      | k           |
+------+--------+-------------+
|  123 | 000456 | 00000000789 |
+------+--------+-------------+
Run Code Online (Sandbox Code Playgroud)

了解如何ZEROFILL确保数据零填充至少等于整数类型参数的位数.

没有ZEROFILL,数据是空间填充的,但由于空间经常被修剪,所以很难看出这种差异.

它对您的PHP代码有什么影响?没有.如果您需要输出柱状数据,空格键盘或零填充值,则使用起来更灵活sprintf(),


Gre*_*reg 7

简短回答:没有区别.

显示宽度在"元数据"中传回.应用程序可以使用它.通常它只是被忽略了.我不认为你可以使用mysql函数来获取它,但你可以使用mysqli使用mysqli_fetch_field_direct.

  • 先生,您可以免费上网! (2认同)