MySQL 中插入一個負值到 UNSIGNED 列會發生什麼情況?
在 MySQL 中為 UNSIGNED 列設定負值時會發生錯誤。例如,我們首先建立一個帶有 UNSIGNED 欄位的表 −
mysql> create table UnsignedDemo -> ( -> Id int UNSIGNED -> ); Query OK, 0 rows affected (0.79 sec)
每當將負值插入被宣告為 UNSIGNED 的 Id 列時,都會出現如下錯誤 −
mysql> INSERT INTO UnsignedDemo VALUES(-100); ERROR 1264 (22003): Out of range value for column 'Id' at row 1
示例
但是,正值適用於 UNSIGNED。在下例中顯示了這一點。使用 insert 命令在上述表中插入一些記錄。查詢如下 −
mysql> INSERT INTO UnsignedDemo VALUES(100); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO UnsignedDemo VALUES(1000); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO UnsignedDemo VALUES(0); Query OK, 1 row affected (0.11 sec) mysql> INSERT INTO UnsignedDemo VALUES(100000000); Query OK, 1 row affected (0.27 sec)
使用 select 語句顯示錶中的所有記錄。查詢如下 −
mysql> SELECT *FROM UnsignedDemo;
輸出
+-----------+ | Id | +-----------+ | 100 | | 1000 | | 0 | | 100000000 | +-----------+ 4 rows in set (0.00 sec)
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP