java.sql.SQLException: Field ‘id’ doesn’t have a default value解决方案

  • Post author:
  • Post category:java


转自:https://blog.csdn.net/xinghuo0007/article/details/51810867

自增长:java.sql.SQLException: Field ‘id’ doesn’t have a default value

今天用java程序向mysql数据库中进行数据记录的时候,用的id自增长时,报了异常java.sql.SQLException: Field ‘id’ doesn’t have a default value错误,看了一篇博文,决定按他的方法试试。:其中现在修改了STRICT_TRANS_TABLES,删掉。但是我即时测试了一下(可能无法理会更多细节),总之还是没有成功。这时我想到用数据库直接测试一下,看是否不写自增长的id能够正常插入,结果是可以的。所以,我觉得应该从程序方面进行排查。

最后问题解决了,两点建议:

第一,在mysql数据库中,如果自增长id没有设为Auto Increment,在java程序中就会报java.sql.SQLException: Field ‘id’ doesn’t have a default value错误。

第二,你确定程序中要使用的Table和你在数据库中改的是同一张Table吗?如果你偶然改的是test里的测试表,那么就和我一样悲剧了。。。