zoukankan      html  css  js  c++  java
  • MySQL中整型长度的意义

    首先说一下,并不是说只能存储指定长度的值,如:TINYINT(1) 不能存储数字10,这是错误的!!!
     
    答案:
    1. 如果字段未设置 zerofill,则无意义。
    2. 如果字段设置了 zerofill,则不足指定长度的部分前面使用 0 填充。
     
    以 TINYINT 为例:
    DROP TABLE IF EXISTS `abc`;
    CREATE TABLE IF NOT EXISTS `abc`
    (
        `id` TINYINT(2)
    ) ENGINE = InnoDB
      DEFAULT CHARSET = utf8mb4;
    INSERT INTO abc(id) VALUE (1);
    INSERT INTO abc(id) VALUE (11);
    INSERT INTO abc(id) VALUE (111);
    SELECT * FROM abc;
    结果是:
    1
    11
    111
    如果字段指定 zerofill,就不一样了。
    DROP TABLE IF EXISTS `abc`;
    CREATE TABLE IF NOT EXISTS `abc`
    (
        `id` TINYINT(2) ZEROFILL
    ) ENGINE = InnoDB
      DEFAULT CHARSET = utf8mb4;
    INSERT INTO abc(id) VALUE (1);
    INSERT INTO abc(id) VALUE (11);
    INSERT INTO abc(id) VALUE (111);
    SELECT * FROM abc;
    结果是:
    01
    11
    111
     
    嗯,就是这么个意思,个人感觉实际意义并不大,所以整型字段设置长度几乎没什么意义。 
    ------------------------------我是博客签名------------------------------
    座右铭:不要因为知识简单就忽略,不积跬步无以至千里。
    版权声明:自由转载-非商用-非衍生-保持署名。
    本作品采用知识共享署名 4.0 国际许可协议进行许可。
    ----------------------------------------------------------------------
  • 相关阅读:
    用Javascript进行简单的Table点击排序.
    asp也来玩三层?
    用在JavaScript的RequestHelper
    一个JavaScript方法的演变
    自己动手,实现jQuery中的ImageCopper.
    notes on relations
    mutex and condition variable
    virtual destructor
    virtual inheritance
    一道概率题
  • 原文地址:https://www.cnblogs.com/wuqinglong/p/14338720.html
Copyright © 2011-2022 走看看