首页 > 解决方案 > 在 MySQL 中,当 INT 数据类型被明确声明为 UNSIGNED 时和不是时有什么区别?

问题描述

在 MySQL 中,我可以将表声明为 -

CREATE TABLE table1 ( column1 INT );

我还可以将表声明为 -

CREATE TABLE table2 ( column2 INT SIGNED );

那么这两张表有什么区别还是一样?

标签: mysqldatatableintegersigned

解决方案


摘自 MySQL 官方文档中有关Numeric 类型语法

“允许 UNSIGNED 属性的数值数据类型也允许 SIGNED。但是,这些数据类型默认是有符号的,因此 SIGNED 属性没有效果。”

因此,上面示例中的两列都具有相同的数据类型INT SIGNED。除非您将其中一个定义为UNSIGNED,否则会有区别。


推荐阅读