前言
一. 联合主键自增问题
今天上午闲来无事翻看了下数据库分类表的设计,看到这样一幕:
当时我好奇的是怎么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