MySQL创建INT主键自增列遇列宽忽略错误的解决方法
解决MySQL整数列宽度忽略的错误提示
这个提示是因为MySQL新版本(如8.0及以后)已经废弃了整数类型的显示宽度设置——也就是你写在INT()里的数字,它本来就不影响数据的存储范围和功能,只是控制查询时的显示格式,现在官方不再推荐使用,所以会给出这个警告。
解决方法很简单:
- 直接去掉整数类型后面的括号和数字,比如把
INT(11)改成INT,主键、自增属性完全不受影响。示例代码:CREATE TABLE your_table ( id INT AUTO_INCREMENT PRIMARY KEY, other_column VARCHAR(100) NOT NULL ); - 如果你只是习惯保留括号,也可以无视这个提示,但官方建议移除,因为显示宽度功能已经被标记为废弃,未来版本可能彻底移除支持。
- 提示里提到的
TINYINT(1)是特殊情况,它常被当作布尔类型的别名,但如果你不需要模拟布尔值,同样可以直接写TINYINT。
另外要注意:这个提示是警告而非错误,你的表大概率已经创建成功了,但遵循最佳实践修改后可以消除提示,同时让代码更符合MySQL的规范。
内容的提问来源于stack exchange,提问作者user19126561
相关产品推荐
相关产品推荐

