自增属性AUTO_INCREMENT为什么未在表结构中显示
场景描述
创建表时,添加了自增属性AUTO_INCREMENT,执行show create table,自增属性未在表结构中显示。
创建表:
执行show create table xxx,未显示自增属性AUTO_INCREMENT:
原因分析
经过排查,是因为参数“sql_mode”设置了NO_FIELD_OPTIONS属性。
sql_mode相关属性介绍:
- NO_FIELD_OPTIONS:不要在SHOW CREATE TABLE的输出中打印MySQL专用列选项。
- NO_KEY_OPTIONS:不要在SHOW CREATE TABLE的输出中打印MySQL专用索引选项。
- NO_TABLE_OPTIONS:不要在SHOW CREATE TABLE的输出中打印MySQL专用表选项(例如ENGINE)。
解决方案
将sql_mode的NO_FIELD_OPTIONS属性去掉即可。