我試圖將數據類型爲整數(BIGINT)的數據庫表的字段之一的長度設置爲無窮大。請讓我知道如何將場地的長度設置爲無限/無限?將bigint長度設置爲無窮大
Column Type Collation Attributes Null Default Extra Action 1 id bigint(255) No None AUTO_INCREMENT
我試圖將數據類型爲整數(BIGINT)的數據庫表的字段之一的長度設置爲無窮大。請讓我知道如何將場地的長度設置爲無限/無限?將bigint長度設置爲無窮大
Column Type Collation Attributes Null Default Extra Action 1 id bigint(255) No None AUTO_INCREMENT
對於最大值看看documentation
BigInt有符號 - 9223372036854775807
BIGINT UNSIGNED - 18446744073709551615
mysql> CREATE TABLE Table1(`col1` BIGINT, `col2` BIGINT UNSIGNED); Query OK, 0 rows affected (0.02 sec) mysql> DESC table1; +-------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------------------+------+-----+---------+-------+ | col1 | bigint(20) | YES | | NULL | | | col2 | bigint(20) unsigned | YES | | NULL | | +-------+---------------------+------+-----+---------+-------+ 2 rows in set (0.00 sec) mysql> INSERT INTO Table1 VALUES(9223372036854775807, 18446744073709551615); Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM Table1; +---------------------+----------------------+ | col1 | col2 | +---------------------+----------------------+ | 9223372036854775807 | 18446744073709551615 | +---------------------+----------------------+ 1 row in set (0.00 sec)
我給了'18446744073709551615'長度,但它沒有被接受 – user2304394
@ user2304394請說明你是怎麼做到的。您的'BIGINT UNSIGNED'類型的列是? – peterm
@ user2304394:這些是最大*值*,不是長度。 –
你不行。所有的*INT
字段都有一個固定的長度,與各種編程語言(特別是C)中的整數大小直接相關。即使DECIMAL
也有最大尺寸。如果你需要比它提供的更大的值,那麼使用*TEXT
字段中的一個來保存字符串的值,但請注意,即使這些字段有限制。
那麼,如果OP想要存儲'PI'小數位的確切值,那麼我們對他有壞消息,因爲即使是'TEXT'數據中的'4Gb'也是如此類型不夠。 (_我認爲如果'BIGINT'不夠,那麼出問題了) –
數據類型bigint的最大長度應該是多少? – user2304394
@ user2304394:計數[peterm的答案]中的數字(http://stackoverflow.com/a/20138520/20862)。這是'BIGINT'的最大長度。在編程方面,64位。 –
我認爲這是不允許在DBMS中,但一些DBMS如MSDE 2000可以接受無限的浮點值。但如果保存此值,則是一個致命錯誤。
我的意思是確保您的應用程序需要這種類型的數據,沒有任何錯誤。 ?
BIGINT range is:
-9223372036854775808 to 9223372036854775807 normal. 0 to 18446744073709551615 UNSIGNED*.
The maximum number of digits may be specified in parenthesis
如果您查詢這個無限OR NaN數據,您的數據庫可能會損壞或引發致命錯誤。 這就是爲什麼在查詢你是否不知道存儲數據之前,建議更好地使用Exceptional處理。
你說的* ...設置字段的長度爲無窮大/意思無限*??? – peterm
@peterm我的意思是將它設置爲允許存儲的最大數量 – user2304394