我正在编写用于在表中创建新列的 SQL 查询。我的部分查询包括:
`phone` INT(8) UNSIGNED NOT NULL DEFAULT 0
电话号码必须恰好是 8 位数字,因为这是电话号码在我工作的国家/地区的工作方式。但我不确定我是否需要使用 INT(8)
或仅使用 INT
。编写该部分的另一种方法是:
`phone` INT UNSIGNED NOT NULL DEFAULT 0
我知道对于 VARCHAR
例如,您指定长度。例如:VARCHAR(50)
。但是对于 INT
我不确定,因为在 MySQL 中,已经知道 INT
在未签名时可以存储最大值 4294967295,所以使用 INT(8)
可能没有意义,因为 INT
将始终是 INT
并且根据定义,使用 时能够存储最大值 4294967295 >未签名
( https://dev.mysql.com/doc/refman/8.0/en/integer-types.html )。谢谢。
最佳答案
INT(8) 是一种过时的格式构造。最好忽略那些关于 int 类型的。
VARCHAR
可能更适合那些没有对其进行数字操作的 PHONE 类型。
关于mysql - MySQL创建列时是否需要指定INT的最大长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54357007/