MySQL Boolean quot;tinyint(1)quot; holds values up to 127?(MySQL 布尔值“tinyint(1)保持值高达 127?)
问题描述
我想为某件商品是否有货设置一个真/假字段.
I wanted to make a true/false field for if an item is in stock.
我想将其设置为布尔值(转换为 tinyint(1)
),1 表示有货,0 表示没有库存.
I wanted to set it to Boolean ( which gets converted to tinyint(1)
), 1 for in stock, 0 for not in stock.
我从供应商那里获取信息,所以我想,如果他们通过了有多少库存怎么办?"
I am getting feeds from vendors, so I thought to myself, "What if they pass how many are instock?"
所以我想知道如果我插入一个大于 1 的数字会发生什么.我以为它会默认为 1.
So I wondered if I inserted a number higher than 1 what would happen. I assumed it would default to 1.
令我惊讶的是,它允许我保存不超过 127 的任何数字,超过默认值 127 的任何数字.
To my surprise it will allow me to hold any number up to 127, anything over defaults to 127.
谁能解释一下原因?
推荐答案
有符号的TINYINT
数据类型可以存储-128到127之间的整数值.
The signed TINYINT
data type can store integer values between -128 and 127.
但是,TINYINT(1)
不会更改它可以存储的最小值或最大值.它只是说显示当该类型的值作为输出打印时只显示一个数字.
However, TINYINT(1)
does not change the minimum or maximum value it can store. It just says to display only one digit when values of that type are printed as output.
这篇关于MySQL 布尔值“tinyint(1)"保持值高达 127?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:MySQL 布尔值“tinyint(1)"保持值高达 127?
基础教程推荐
- SQL Server 2016更改对象所有者 2022-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01