MySQL中ENGINE=InnoDB、AUTO

发布时间:2024-11-24 03:06

理解数据库原理(SQL、MySQL) #生活知识# #编程教程#

最新推荐文章于 2024-04-23 01:04:51 发布

lip86 于 2018-09-20 17:52:18 发布

CREATE TABLE `hui_user` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户表id',

`username` varchar(50) NOT NULL COMMENT '用户名',

`password` varchar(50) NOT NULL COMMENT '用户密码,MD5加密',

`email` varchar(50) DEFAULT NULL,

`phone` varchar(20) DEFAULT NULL,

`question` varchar(100) DEFAULT NULL COMMENT '找回密码问题',

`answer` varchar(100) DEFAULT NULL COMMENT '找回密码答案',

`role` int(4) NOT NULL COMMENT '角色0-管理员,1-普通用户',

`create_time` datetime NOT NULL COMMENT '创建时间',

`update_time` datetime NOT NULL COMMENT '最后一次更新时间',

PRIMARY KEY (`id`),

UNIQUE KEY `user_name_unique` (`username`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;

在这个sql语句中,出现了这样的ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8; 
但不太明白最后那三项是干嘛的? 
1. ENGINE=InnoDB不是默认就是这个引擎吗? 
2. AUTO_INCREMENT=22,它不是自增的吗?为什么还要设数字? 
3. utf8不是已经在my.ini里设置过了?

ENGINE=InnoDB不是默认就是这个引擎吗?

——是的,如果不写也是ok,就会走默认的,在这里写上是因为可以很清楚的看到这个建表语句用了哪些,而且在创建表的时候,写上也是一个很好的习惯

AUTO_INCREMENT=22,它不是自增的吗?为什么还要设数字?

——这个是自增的,在这里设置数字的意思是想要让这条语句在增长的时候,从22开始自增。

utf8不是已经在my.ini里设置过了?

——这个虽然在my.ini设置过了,但设置的是mysql的的语言编码,而这里创建的时候不设置,就会出现乱码问题,二者的作用域是不一样的,在创建表单的时候,这个charset会作用到这个表上,他代表mysql简历数据库数据表时设定字符集为utf-8

网址:MySQL中ENGINE=InnoDB、AUTO https://www.yuejiaxmz.com/news/view/225146

相关内容

创建表时附带的ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE = utf8
MySQL实现序列(Sequence)效果以及在Mybatis中如何使用这种策略
sysbench压力测试工具简介
MYSQL启动失败解决方法
sqlalchemy mysql配置中怎么设置utf8
PyMySQL的使用:事务、索引、如何防止SQL注入
基于Android的个人财务管理系统的设计与实现.
Mysql在生产环境中快速清理数据及表空间释放
基于springboot+vue+mysql公益旧物捐赠系统(源码+参考文档+定制)
基于微信小程序的社区旧衣物回收系统设计与实现

随便看看