如何在 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)

更新于: 2019 年 7 月 30 日

已观看 1 千次

开启您的职业生涯

通过完成本课程获得认证

开始
广告