关于表结构中表ENGINE=InnoDB,AUTO_INCREMENT=10032,DEFAULTCHASET=utf8分别是什么意思?

来源:4-1 数据表结构设计

蓝烟amber

2017-04-26

http://szimg.mukewang.com/59002843000192b305360183.jpg

我不太明白最后那三项是干嘛的?

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

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

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

写回答

1回答

Geely

2017-04-26

hi同学你好

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

---是的,如果不写这个也ok,就会走默认的,这里面我们是用navicat生成的的表,所以在生成的sql语句是非常全面的,也让大家能看到这个建表语句里用了哪些。另外在创建的时候,都写上也是一个良好的习惯。


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

---这个问题思考的很赞,这个问题原因是,我们初始化的时候,把分类从100000开始的,当时设置的时候是100000。所以自增呢,就会从100000开始自增,那么这里为什么是100032呢,是因为当时我们这个表里面已经有100000-100031的数据存在,所以navicat出现的sql语句呢,就是代表在查看的当时如果建表的话,会从100032开始自增


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

---这个虽然在myini里设置过了,但是我们在创建表的时候这里也要设置,如果不设置,就会出现乱码问题,他们的作用域是不一样的,我们在创建表的时候,这个charset会作用到我们这个表上的,它代表mysql建立数据库数据表时设定字符集为utf-8。

5
2
蓝烟amber
非常感谢!
2017-04-26
共2条回复

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9430 学习 · 8787 问题

查看课程