提问人:Elavarasan 提问时间:8/25/2023 更新时间:8/25/2023 访问量:66
向 INT 添加长度有什么用?[复制]
What is the use of adding length to INT? [duplicate]
问:
我在 CodeIgniter 文档中看到了这段代码。
<?php
$fields = [
'id' => [
'type' => 'INT',
'constraint' => 5,
'unsigned' => true,
'auto_increment' => true,
],
'title' => [
'type' => 'VARCHAR',
'constraint' => '100',
'unique' => true,
],
'author' => [
'type' => 'VARCHAR',
'constraint' => 100,
'default' => 'King of Town',
],
'description' => [
'type' => 'TEXT',
'null' => true,
],
'status' => [
'type' => 'ENUM',
'constraint' => ['publish', 'pending', 'draft'],
'default' => 'pending',
],
];
id 字段将转换为 .我认为整数应该足够大。增加长度的意义何在?INT(5)
我一般使用.我想知道什么是最佳实践。INT
答:
0赞
HichemTech
8/25/2023
#1
定义的长度不像字段的限制或最大长度,您可以使用长度,并且仍然可以插入带有长度的 ID。5
20
(答案已经完成,剩下的只是一个额外的解释)
你可以忽略它,它实际上用于(视觉表示),比如当你使用一些数据库工具时,它留下了一个 5 个字符的空间,但这并不意味着它不能是一个超过 5 个字符的值。例如,如果我们添加一列,则可以将 FOE 示例的长度设置为 10。这意味着,如果表数据甚至显示在某个数据库工具中,或者用于数据的可视化表示,它将仅显示前 10 个字符,以表示美观和良好的数据读取,但它可以是一个超过 10 个的名称,但它只会被省略号。name
另一方面,如果您担心字段的范围,则应使用适当的整数类型 (, ...)。INT
BIGINT
3赞
Georg Richter
8/25/2023
#2
INT(5)
是一个 4 字节整数,显示宽度为 5。仅当使用附加选项定义整数列时,才使用显示宽度。ZEROFILL
CREATE TABLE t1(a INT(5) ZEROFILL);
INSERT INTO t1 VALUES (1),(23),(589);
SELECT a FROM t1;
+-------+
| a |
+-------+
| 00001 |
| 00023 |
| 00589 |
+-------+
评论