我有以下表结构:

badge_id并且interface_id是主键.
当我尝试仅指定INSERT操作时badge_id,我预计它会失败,但interface_id 默认为0.

我正在运行以下版本:

有人可以解释为什么它默认为零?这不应该失败吗?提前致谢.
答案在CREATE TABLE的文档中:
如果列定义不包含显式DEFAULT值,则MySQL将确定默认值,如第11.5节"数据类型默认值"中所述.
数据类型默认值中提供了更多信息:
隐式默认值定义如下:对于数值类型,默认值为0,但对于使用AUTO_INCREMENT属性声明的整数或浮点类型,默认值是序列中的下一个值.