mysql - 在 MySQL 中,当 INT 数据类型被明确声明为 UNSIGNED 时和不是时有什么区别?
问题描述
在 MySQL 中,我可以将表声明为 -
CREATE TABLE table1 ( column1 INT );
我还可以将表声明为 -
CREATE TABLE table2 ( column2 INT SIGNED );
那么这两张表有什么区别还是一样?
解决方案
摘自 MySQL 官方文档中有关Numeric 类型语法:
“允许 UNSIGNED 属性的数值数据类型也允许 SIGNED。但是,这些数据类型默认是有符号的,因此 SIGNED 属性没有效果。”
因此,上面示例中的两列都具有相同的数据类型INT SIGNED
。除非您将其中一个定义为UNSIGNED
,否则会有区别。
推荐阅读
- directory - 如何修改 Blue Prism 中的代码以移动文件夹及其内部的所有内容
- karate - 我们可以选择使用空手道脚本过滤数据吗?
- forms - 烧瓶形式。错误的请求
- c# - 如何最小化 SqlTableDependency 中的调用
- ios - 如何使用 UIDragInteraction 立即开始拖动?
- angular - 角度模态弹出窗口不起作用
- c++ - 与win 64bit有关吗?错误:STATUS_ACCESS_VIOLATION
- eclipse - 颠覆性连接器不可用
- c# - Unity覆盖`StandardAssetsScripts`的最佳方法
- linux - 通过 lldb 从 Linux(ARM32、Debian、RaspberryPi3B+)分析 .NET Core 控制台应用程序崩溃转储失败