如何在 MySQL 中理解 bigint 是帶符號還是無符號?


如果您未指定無符號,則 bigint 將為帶符號。如果您指定無符號,則 bigint 將為無符號。

我們先建立一個表 -

mysql> create table DemoTable
   (
   Number bigint, // signed
   Number2 bigint unsigned // unsigned
   );
Query OK, 0 rows affected (1.08 sec)

透過 insert 命令在表中插入記錄 -

mysql> insert into DemoTable values(18446744073709551615,18446744073709551615);
ERROR 1264 (22003): Out of range value for column 'Number' at row 1
mysql> insert into DemoTable values(9223372036854775807,18446744073709551615);
Query OK, 1 row affected (0.28 sec)

透過 select 語句從表中顯示所有記錄 -

mysql> select * from DemoTable;

這將產生以下輸出 -

+---------------------+----------------------+
| Number              | Number2              |
+---------------------+----------------------+
| 9223372036854775807 | 18446744073709551615 |
+---------------------+----------------------+
1 row in set (0.00 sec)

更新日期:30-Jul-2019

1 千+瀏覽

開啟您的 職業生涯

完成課程,獲得證書

開始學習
廣告