请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

https://img1.sycdn.imooc.com/szimg//59002843000192b305360183.jpg

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

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

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

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

正在回答

1回答

Geely 2017-04-26 13:17:31

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 回复 有任何疑惑可以回复我~
  • 提问者 蓝烟amber #1
    感谢老师的回答,长知识了!
    回复 有任何疑惑可以回复我~ 2017-04-26 13:55:54
  • 提问者 蓝烟amber #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-04-26 13:56:00
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信