-
mysql error 1452 (42000)언어/mysql 2024. 5. 8. 14:59
MariaDB [Board]> INSERT INTO posts (title, content, user_id) VALUES ('title3', 'content3', <user_id>); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '<user_id>)' at line 1
이 오류는 "posts" 테이블의 "id" 열에 외래 키 제약이 설정되어 있고, 해당 열이 "users" 테이블의 "id" 열을 참조하고 있기 때문에 발생합니다. 즉, "posts" 테이블에 삽입된 데이터는 "users" 테이블의 "id" 값과 일치하는 값을 가져야 합니다.
현재 "posts" 테이블에 삽입된 데이터는 "users" 테이블에 있는 유효한 "id" 값을 가지고 있지 않기 때문에 오류가 발생합니다. "posts" 테이블에 삽입하기 전에 "users" 테이블에 사용자를 추가하고 해당 "id" 값을 확인한 후에 이 값을 사용하여 "posts" 테이블에 데이터를 삽입해야 합니다. gpt형님이 그러시는 데 뭔말인지 모르겠다
구글링 해보자.
결론부터 말하면 ''참조 무결성 위배" 로 FK를 통해 참조해야하는 대상의 값이 먼저 입력되어 있지 않으면 나오는 error
gpt 형님과 함께 참조해야 하는 대상의 값을 먼저 입력하고 시도해 봤지만,,, 어디서부터 잘못된 것일까 되지를 않는다.
https://elios.tistory.com/2 이 분이 치트키를 쓰신다.
그래서 FK를 잠깐 무력화 시켜버린다 ㅋ
SET foreign_key_checks = 0;
데이터를 넣은 후 다시 살려주자.
SET foreign_key_checks = 1;
개꿀... 날로 먹은 느낌...
+ 추후에 더 자세히 알게 되면 업데이트 하겠습니다
+ 강사님도 같은 오류가 나오길래 작성하겠습니다. ㅎㅎ하하하ㅏ하굳ㄱ두개꿀
FK 가 users에 없다는 거임.
엥 똑같이 했는 데 안댐ㅋ
어딘가 잘못되었나부다...
'언어 > mysql' 카테고리의 다른 글