• mysql联合主键自增、主键最大长度小记


    前言

    一. 联合主键自增问题

    今天上午闲来无事翻看了下数据库分类表的设计,看到这样一幕:

    当时我好奇的是怎么cateId自增会存在重复值的问题,然后翻看了下主键是由siteId和cateId组成。所以进行了查阅资料:

    当多列组成联合主键时、auto_increment属性的列并不是自顾自得一味的增长,而是配合其他主键的列 从而得到唯一约束;如上图2所示  当siteId值不同时cateId会重归1开始自增

    but这里有几个坑需要注意下,为了显眼我特地设置为红色:

      1:存储引擎必须为MyISAM

      2:自增主键必须为第二列

    下面再总结一个小知识点

    英文字母和中文汉字在不同的字符集编码下所占的字节数

    英文字母:

    字节数 : 1;编码:GB2312

    字节数 : 1;编码:GBK

    字节数 : 1;编码:GB18030

    字节数 : 1;编码:ISO-8859-1

    字节数 : 1;编码:UTF-8

    字节数 : 4;编码:UTF-16

    字节数 : 2;编码:UTF-16BE

    字节数 : 2;编码:UTF-16LE

    中文汉字:

    字节数 : 2;编码:GB2312

    字节数 : 2;编码:GBK

    字节数 : 2;编码:GB18030

    字节数 : 1;编码:ISO-8859-1

    字节数 : 3;编码:UTF-8

    字节数 : 4;编码:UTF-16

    字节数 : 2;编码:UTF-16BE

    字节数 : 2;编码:UTF-16LE

    1个字节byte=8bit(比特/位)  1bit=0.125B字节

    1个汉字两个字节 16bit,2B.

    字符:汉字,数字,字母等

    Byte,bit是存储单位

    Bit——比特
    B ——字节 byte
    KB——千字节 
    MB——兆字节 
    GB——吉字节 
    TB——太字节 

    1B=8 Bit
    1KB=1024B 
    1MB=1024KB 
    1GB=1024MB 
    1TB=1024GB

       

    作者: 不二尘
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    POJ1579Function Run Fun
    C++ 程序员必读书目清单
    zoj2100Seeding(水题)
    接口开发及技术负责
    哪些需求最重要
    地址
    哪些需求最重要
    setTimeOut与 setInterval区别
    项目管理简介
    项目管理简介
  • 原文地址:https://www.cnblogs.com/chenpt/p/9238622.html
Copyright © 2020-2023  润新知