在使用 SequelPro 時,它在創建表時使用默認的 INT 長度(用于顯示!)11。例如:
CREATE TABLE `tbl` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我的問題是為什么它會這樣做,如果(11)啟用了 zerofill 時僅用于顯示目的,默認情況下這似乎是一個奇怪的屬性,沒有它就毫無意義。
更新:是的,我知道這(11)是顯示寬度,并且不會更改INTmysql 中 4的位元組大小。我的問題是為什么它在應用程式中使用(11) AS A DEFAULT作為顯示寬度時使用零填充?我知道寫所有這些大寫是令人討厭的,但似乎沒有人閱讀完整的問題(有 5 個答案/評論都說同樣的事情)。
uj5u.com熱心網友回復:
括號 ie () 中的數字不決定可以存盤在整數欄位中的最大值和最小值。可以存盤的最大值和最小值始終是固定的。它只是整數資料型別的顯示寬度。
uj5u.com熱心網友回復:
MySQL 支持 SQL 標準整數型別 INTEGER(或 INT)和 SMALLINT。作為標準的擴展,MySQL 還支持整數型別 TINYINT、MEDIUMINT 和 BIGINT。下表顯示了每種整數型別所需的存盤和范圍。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/349934.html
下一篇:如何在自連接中使用Exists

