mysql建表规范
CREATE TABLE dbname_bodyguard_black_box (
id int(11) NOT NULL AUTO_INCREMENT,
login_id varchar(64) DEFAULT NULL COMMENT '用户登录账号,手机号',
black_box text COMMENT '设备指纹令,APP端提供',
app_name varchar(64) DEFAULT NULL COMMENT '应用标识,区分Android或IOS',
bize_code varchar(64) DEFAULT NULL COMMENT '业务流',
create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
enabled char(1) DEFAULT '1' COMMENT '是否有效标识,1有效,0无效',
PRIMARY KEY pk_id (id),
KEY idx_create_time (create_time),
KEY idx_login_id (login_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci COMMENT='设备指纹';
要求:
1、 表名或字段名必须使用小写字母或数字,禁止数字开头,禁止两个下划线中间只出现数字,在建表时加上数据库名,方便运维维护。
2、 表名或字段名,多个单词之间用下划线连接。
3、 主键索引名为pk_字段名
,唯一索引名为uk_字段名
,普通索引名为idx_字段名
。
4、 小数类型使用decimal,禁止使用float和double。
5、 如果存储的字符串长度几乎相等,使用char定长字符串类型。
6、 表必备字段,id,create_time,update_time,enabled。enabled用于逻辑删除。
7、 库名小写,与应用名缩写一致。
8、 统一编码格式为“utf8mb4”,mysql的utf8mb4才是真正的utf8,最多占4个字节。