使用mybatis-plus添加課程時候報錯
如圖:
錯誤代碼如圖:
org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: java.sql.SQLException: Field 'subject_parent_id' doesn't have a default value ### The error may involve com.atguigu.eduservice.mapper.EduCourseMapper.insert-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO edu_course ( id, teacher_id, subject_id, title, price, lesson_num, cover, gmt_create, gmt_modified ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ? ) ### Cause: java.sql.SQLException: Field 'subject_parent_id' doesn't have a default value ; Field 'subject_parent_id' doesn't have a default value; nested exception is java.sql.SQLException: Field 'subject_parent_id' doesn't have a default value at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446) at com.sun.proxy.$Proxy86.insert(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:278)
由於使用mybatis-plus代碼生成器, 不能設置自增id, 所有不能用自增去解決
后來我發現把 'subject_parent_id' 非空√去掉就好了
添加成功, 如圖:
數據庫中添加了兩條信息(課程描述信息-表), 如圖:
並且與課程中的id值是一樣的(課程基本信息-表), 所有沒有問題
課程基本信息表與課程描述信息表中的id值相同, 這樣添加課程基本信息的接口就完成了