此MySQL表由ActiveRecord生成。
+--------------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| RecordType | tinyint(4) | YES | | NULL | |
| Location | varchar(8) | YES | | NULL | |
请向我解释第二栏中tinyint(4)的含义。根据MySQL文档,tinyint的大小是一个字节。但这是否意味着实际需要4个字节来存储这些数据。生成第二列的代码是这样的。
t.column :RecordType, :integer, :limit => 1
答案 0 :(得分:1)
这意味着它对该数据类型使用1个字节,而不是4个因此因此可能的数字范围较小(无符号的-128到127或0 - 255或者如果你是1个字节则为2 ^ 8)。 / p>
TINYINT(4)是显示长度,因此它意味着它将使用四位数来表示数字。