MySQL ERROR 1364 Field ‘id‘ doesn‘t have a default value 排错
一张 AUTO_INCREMENT 主键完好的表,插入时却反复报 ERROR 1364,而去掉一个看似无关的触发器后立刻恢复正常。这类问题的真正失败点通常不在报错指向的那张表,而在触发器悄悄写入的另一张表。
问题现象
对一张结构如下的表执行 INSERT,无论是否显式提供 id,都得到同一个错误:
CREATETABLE`table1`(`id`int(10)NOT一张 AUTO_INCREMENT 主键完好的表,插入时却反复报 ERROR 1364,而去掉一个看似无关的触发器后立刻恢复正常。这类问题的真正失败点通常不在报错指向的那张表,而在触发器悄悄写入的另一张表。
对一张结构如下的表执行 INSERT,无论是否显式提供 id,都得到同一个错误:
CREATETABLE`table1`(`id`int(10)NOT