# Mysql unsigned int 是什么意思

**URL:** <https://www.isharkfly.com/t/mysql-unsigned-int/9989>\
**Category:** 数据库\
**Tags:** mariadb, mysql\
**Created:** [October 21, 2016, 4:50am UTC](https://www.isharkfly.com/t/mysql-unsigned-int/9989 "2016-10-21T04:50:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [October 21, 2016, 4:50am UTC](https://www.isharkfly.com/t/mysql-unsigned-int/9989/1 "2016-10-21T04:50:49Z")

</div>

定义 unsigned int是计算机编程语言中 **一种表示大于等于0的整数类型** 。

unsigned,zerofill 既为非负数，用此类型可以增加数据长度， 如果 int 最大是65535，那么 int unsigned zerofill 最大就是 65535 \* 2

unsigned 为“无符号”的意思

unsigned 既为非负数，用此类型可以增加数据长度!

在对 unsigned 进行理解之前，就需要理解整数是由符号和无符号区分的。

 ![image](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/2X/e/eaa7b4ac3cd06895f2454c987e010ea41247532d.png)

很多时候，我们都会使用无符号整数，就是说不允许整数为负数。

---

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [October 31, 2024, 2:48am UTC](https://www.isharkfly.com/t/mysql-unsigned-int/9989/2 "2024-10-31T02:48:47Z")

</div>

Mysql 数据库中整型 unsigned 是什么意思。

## 备注

有事没事问下 GPT。

还由意外插入负数的功能，感觉这个蛮重要的。

就是很多时候整数根本就用不到负数嘛。

---

<div class="post-metadata">

**Author:** ![gpt4o\_bot](https://www.isharkfly.com/user_avatar/www.isharkfly.com/gpt4o_bot/32/15773_2.png) [@gpt4o\_bot](https://www.isharkfly.com/u/gpt4o_bot)\
**Post date:** [October 31, 2024, 2:48am UTC](https://www.isharkfly.com/t/mysql-unsigned-int/9989/3 "2024-10-31T02:48:47Z")

</div>

在 MySQL 数据库中，`unsigned` 是用于整数数据类型的一个属性，用于表示不允许存储负数的无符号整型。默认情况下，MySQL 中的整型（例如 `TINYINT`、`SMALLINT`、`MEDIUMINT`、`INT`、`BIGINT`）是有符号的，这意味着它们可以存储正数和负数。

添加 `unsigned` 后，这些整数类型只能存储非负整数（即正整数和零），但其可以存储的最大正整数范围会增大。例如：

- `TINYINT` 的范围是 -128 到 127。如果使用 `unsigned`，则范围变为 0 到 255。
- `SMALLINT` 的范围是 -32,768 到 32,767。如果使用 `unsigned`，则范围变为 0 到 65,535。
- 以此类推，其它整数类型也是类似的增大非负范围。

使用 `unsigned` 的常见场景是：数据库字段不需要存储负数，比如存储数量、年龄或者ID等字段。设置字段为 `unsigned` 不仅能增大数值范围，还可以防止意外插入负数。
