如何在 MySQL 中的整型列中新增一個正整數約束?
你需要為此使用 unsigned,因為它不允許你輸入負數。
語法如下
CREATE TABLE yourTableName ( yourColumnName INT UNSIGNED );
為了理解這個概念,讓我們建立一個表。建立表的查詢如下
mysql> create table OnlyPositiveValue - > ( - > Marks int UNSIGNED - > ); Query OK, 0 rows affected (0.58 sec)
在表中插入資料之前,使用下面的查詢。
查詢如下
mysql> SET @@SESSION.sql_mode = 'STRICT_TRANS_TABLES'; Query OK, 0 rows affected, 1 warning (0.00 sec)
現在,如果你在 INSERT 命令中新增一個負數,將會顯示以下錯誤
mysql> insert into OnlyPositiveValue values(-10); ERROR 1264 (22003): Out of range value for column 'Marks' at row 1 mysql> insert into OnlyPositiveValue values(-100); ERROR 1264 (22003): Out of range value for column 'Marks' at row 1
讓我們插入正數。
查詢如下
mysql> insert into OnlyPositiveValue values(0); Query OK, 1 row affected (0.17 sec) mysql> insert into OnlyPositiveValue values(10); Query OK, 1 row affected (0.14 sec) mysql> insert into OnlyPositiveValue values(100); Query OK, 1 row affected (0.11 sec)
使用 select 語句顯示錶中的所有記錄。
查詢如下
mysql> select *from OnlyPositiveValue;
以下是顯示正數的輸出
+-------+ | Marks | +-------+ | 0 | | 10 | | 100 | +-------+ 3 rows in set (0.00 sec)
廣告
資料結構
網際網路絡
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP