Error Mesage

[Vue Warn]: Error in v-on handler (pomise/async): 
"AxiosError: vue.runtime.esm.js?c320:4573 Request failed with status code 500"

Hibernate: insert into product (category, content, image, price, reg_date, title, upd_date, writer) values (?, ?, ?, ?, ?, ?, ?, ?)
2022-09-22 21:55:35.122  WARN 20472 --- [nio-8888-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 1364, SQLState: HY000
2022-09-22 21:55:35.122 ERROR 20472 --- [nio-8888-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper   : Field 'product_no' doesn't have a default value
2022-09-22 21:55:35.137 ERROR 20472 --- [nio-8888-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement] with root cause

java.sql.SQLException: Field 'product_no' doesn't have a default value

Vue에서 Spring 서버로 입력받은 데이터를 전송하려고 하는데 이런 에러 메세지가 떴다.

필드에 기본값이 없다는 에러인데, 같은 에러를 구글링해서 온갖 포스팅을 다 뒤졌지만 . .

나랑 완전히 같은 상황인 포스팅은 못 찾았던 것 같다.

Spring에 jpa를 연결해서 쓰다 보니 무슨 MySQL 테이블에 가서 뭘 적어주든 수정하든. . 그런 게 뭔지 모르겠는 것. . ! 

 

혹시 테이블이 제대로 생성이 안된 건가 싶어서

MySQL Command Line Client 열어서 테이블 생성 여부를 확인했는 데 있다.

 

테이블은 있지만 안에 데이터는 없는 상태 (당연함 데이터 넣기 전에 오류남)

 

 

 

원인 

아직까지 정확한 원인 모르겠음 🥲

 

 

해결방법

테이블 지웠다가 서버 재구동 하기!!!

drop table [table_name];

이렇게 테이블을 삭제했다가 Spring 서버를 재구동 해줬다.

그럼 자동으로 테이블이 다시 생성되는 걸 볼 수 있다.

입력받은 데이터도 잘 들어온다.

 

복사했습니다!