From: http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/08/25/2153016.html

mysql int(1) tinyint(1)有什么区别?
我指定了字段长度,类型还有意义吗?
 
Reply:
mysql 中int(1)和tinyint(1)中的1只是指定显示长度,并不表示存储长度,只有字段指定zerofill是有用
如int(3),如果实际值是2,如果列指定了zerofill,查询结果就是002,左边用0来填充。
 
TINYINT[(M)] [UNSIGNED] [ZEROFILL]

A very small integer. The signed range is -128 to 127. The unsigned range is 0 to 255.

INT[(M)] [UNSIGNED] [ZEROFILL]

A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295.

位数限制基本没有意义。

mysql> create table testint(id int(1), col2 tinyint(1));
Query OK, 0 rows affected (0.06 sec)

mysql> insert into testint values(256, 257);
Query OK, 1 row affected, 1 warning (0.03 sec)

mysql> select * from testint;
+------+------+
| id | col2 |
+------+------+
| 256 | 127 |
+------+------+
1 row in set (0.02 sec)

mysql> insert into testint values(336, 257);
Query OK, 1 row affected, 1 warning (0.02 sec)

mysql> select * from testint;
+------+------+
| id | col2 |
+------+------+
| 256 | 127 |
| 336 | 127 |
+------+------+
2 rows in set (0.00 sec)

mysql> insert into testint values(336, 255);
Query OK, 1 row affected, 1 warning (0.03 sec)

mysql> select * from testint;
+------+------+
| id | col2 |
+------+------+
| 256 | 127 |
| 336 | 127 |
| 336 | 127 |
+------+------+
3 rows in set (0.00 sec)

mysql>

关注一下上边的warning提示。。。。

============================================================
mysql   中   真,假   这样的数据应该用什么数据类型?
reply:tinyint(1)
 
 
 
 

mysql int(1) 与 tinyint(1) 有什么区别?的更多相关文章

  1. Mysql数据库int(1)和tinyint(1)的区别&&扩展阅读

    转自:http://blog.csdn.net/phpwish/article/details/7845921 今天看项目的数据库结构设计,发现一个奇怪的地方. `xxx_detail`   `del ...

  2. MySQL中int(M)和tinyint(M)数值类型中M值的意义

    在一开始接触MySQL数据库时,对于int(M)及tinyint(M)两者数值类型后面的M值理解是最多能够插入数据库中的值不能大于M: 后来工作后,也是一边学习一边使用,之后的理解是其中的M的意思是插 ...

  3. MySQL数据类型 int(M) 表示什么意思?详解mysql int类型的长度值问题

    MySQL 数据类型中的 integer types 有点奇怪.你可能会见到诸如:int(3).int(4).int(8) 之类的 int 数据类型.刚接触 MySQL 的时候,我还以为 int(3) ...

  4. 关于 MySQL 的 boolean 和 tinyint(1)

    boolean类型MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1),MySQL里有四个常量:true,false,TRUE, ...

  5. 关于 MySQL 的 boolean 和 tinyint(1) (转)

    boolean类型MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1),MySQL里有四个常量:true,false,TRUE, ...

  6. mysql int类型字段插入空字符串时自动转为0

    mysql int类型字段插入空字符串时自动转为0 如果不想转的话可以修改配置文件 修改 my.ini 文件. # Set the SQL mode to strictsql-mode=”STRICT ...

  7. mysql索引(btree索引和hash索引的区别)

    所有MySQL列类型可以被索引.根据存储引擎定义每个表的最大索引数和最大索引长度.所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节.大多数存储引擎有更高的限制. 索引的存储类型目前只有 ...

  8. mysql中的where和having子句的区别

    mysql中的where和having子句的区别 having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句 ...

  9. MySQL DELETE语句和TRUNCATE TABLE语句的区别

    MySQL DELETE语句和TRUNCATE TABLE语句的区别 2010-10-08 16:05 佚名 互联网 字号:T | T 在MySQL数据库中,DELETE语句和TRUNCATE TAB ...

随机推荐

  1. [OpenCV] 4、图像叠加 addWeighted

    >_<" 这次主要是图像叠加的基本操作: >_<" cv::addWeighted(imageROI, 1.0, logo, 0.6, 0, imageRO ...

  2. java包装类的作用

    转载自http://zhidao.baidu.com/question/2052192149152534987.html 第一,基本数据类型之间的相互转换不是都可以制动转换的,而你强制转换又会出问题, ...

  3. javascript变量名提升

    预解析的过程 代码的执行过程 程序在执行过程,会先将代码读取到内存中检查,会将所有的声明在此时进行标记.所谓的标记就是让js解释器直到有这个名字,后面在使用名字的时候,不会出现未定义的错误,这个标记就 ...

  4. 如何启动/停止/重启MySQL

    启动.停止.重启 MySQL 是每个拥有独立主机的站长必须要撑握的操作,下面为大家简单介绍一下操作方法: 一.启动方式 1.使用 service 启动:service mysqld start 2.使 ...

  5. 使用Python的yield实现流计算模式

    首先先提一下上一篇<如何猜出Y combinator>中用的方法太复杂了.其实在Lambda演算中实现递归的思想很简单,就是函数把自己作为第一个参数传入函数,然后后面就是简单的Lambda ...

  6. Artificial Intelligence Language

    Artificial Intelligence Language Objective We know, a true AI program should have ability to underst ...

  7. Leetcode 70 Climbing Stairs 递推

    其实就是斐波那契数列 参考dp[n] = dp[n-1] +dp[n-2]; class Solution { public: int climbStairs(int n) { ; ; ; ; i & ...

  8. vue.js(二)

    一个实例: html: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset= ...

  9. linux 解压命令

    .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) ------------------------ ...

  10. Entity Framework一对多关系添加数据的两种方式

    当使用Entity Framework添加一对多关系数据的时候,通常先添加一的数据,然后再添加多的数据.类似这样: //添加一的数据 var category = new Category{Name= ...