mysql - mysql中数据类型附近的数字

标签 mysql

我读了很多帖子,但还是没明白其中的意思。

我创建了一个临时表来测试我的怀疑。

create table ids(id int(1));

我曾经认为如果我指定 int(1) ,那么我只能存储 0-9 。所以我尝试了以下方法

insert into ids(id) values(100000);

它有效!然后我开始搜索以了解这个数字。在所有帖子中,我读到数据类型附近的数字意味着宽度。我仍然不明白术语mysql中的宽度。它们是指尺寸吗?如果是这样,大小以字节为单位?。

如果我想实现我的想法,我应该在查询中更改什么?或者我应该从我的 php 代码中限制它吗?

这个宽度对所有数据类型都意味着相同吗?

最佳答案

您可以在 char/varchar 中指定数据/字节长度,但不能指定 int 类型,因为 int 类型在 mysql 中保留其默认长度/容量。

假设 int 将始终为 int(11),即使您指定 int(2) 并保留其默认值 4 字节-2,147,483,648 到 +2,147,483,647(如果有签名)0 到 4,294,967,295(如果未签名)

如果你只想存储最大。 127 整数值则可以保留tinyint,如果直到255则tinyint无符号。

或者你想超越它,那么有smallint,mediumint,然后int,然后bigint。

关于mysql - mysql中数据类型附近的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36124802/

相关文章:

MySQL 子字符串函数提取 URL 中的字符串

mysql - 选择其他表中不存在的数据

mysql - 每个created_by的不同created_by和总和total_amount

java - 为什么从 MYSQL 更新时出现语法错误?

java - JAVA中如何查看mysql更新语句的返回值

php - 我可以在查询中同时使用 REPLACE 和 SET 吗?

mysql - 有没有办法更新表上的字段并影响另一个表上的另一个字段?

php - 优化我的循环以返回而不是执行 10 次查询

sql - mySQL 字段下面有一条虚线。?

php - SQL (PHP MySQLi) 语法错误