关于表结构中表ENGINE=InnoDB,AUTO_INCREMENT=10032,DEFAULTCHASET=utf8分别是什么意思?
来源:4-1 数据表结构设计
蓝烟amber
2017-04-26
我不太明白最后那三项是干嘛的?
ENGINE=InnoDB不是默认就是这个引擎吗?
AUTO_INCREMENT=10032,它不是自增的吗?为什么还要设数字?
utf8不是已经在my.ini里设置过了?
写回答
1回答
-
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。
522017-04-26
相似问题