반응형

🐬 기본 환경: IDE: MySQL Workbench, Language: MySQL

 

 

발생 Error

MySQL로 다음 Source Code를 실행할 경우,

1
2
insert into user_bookmark(user_id, content_id) values ('user_test001', 'test001');
 
 
 

🚨 다음과 같은 오류 발생

Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails

 

 

발생 원인

자식 테이블에서 부모테이블에 없는 PK값을 자식 테이블에서 데이터를 생성하여 insert 시도

 

 

해결 방법

user_bookmark table은 user table의 user_id를 식별관계*로 하고 있으므로 부모 테이블인 user table에 데이터가 없을 때는 부모테이블에 먼저 데이터를 입력한 다음에 자식 테이블에서 insert 해야 함

 * 식별관계: 부모 테이블의 기본키 또는 유니크 키를 자식 테이블이 자신의 기본키로 사용하는 관계

1
2
3
insert into user(user_id) values ('user_test001');
insert into user_bookmark(user_id, content_id) values ('user_test001''test001');
 
 
 

 

반응형
반응형

🐬 기본 환경: IDE: MySQL Workbench, Language: MySQL

 

 

발생 Error

MySQL로 다음 Source Code를 실행할 경우,

1
2
insert into user_info(user_name) values ('test_user');
 
 
 

🚨 다음과 같은 오류 발생

Error Code: 1146. Table 'TEST.user_info' doesn't exist

 

 

발생 원인

TEST 데이터베이스에 user_info라는 table이 존재하지 않음

 

 

해결 방법

1. user_info table 생성

2. 입력된 table명에 오타가 있는지 확인

 

반응형
반응형

🐬 기본 환경: IDE: MySQL Workbench, Language: MySQL

 

 

발생 Error

MySQL로 다음 Source Code를 실행할 경우,

1
2
insert into user(reg_date) values (2023-06-18);
 
 
 

🚨 다음과 같은 오류 발생

Error Code: 1292. Incorrect date value

 

 

발생 원인

column의 data type이 date일 때, 날짜의 값을 문자열 처리하지 않음

 

 

해결 방법

입력한 date를 '' or ""로 감싸서 날짜 데이터 형식에 맞춰 입력

1
2
insert into user(reg_date) values ('2023-06-18');
 
 
 

 

반응형
반응형

🐬 기본 환경: IDE: MySQL Workbench, Language: MySQL

 

 

발생 Error

MySQL로 다음 Source Code를 실행할 경우,

1
2
insert into user(user_id) values ('hello');
 
 
 

🚨 다음과 같은 오류 발생

Error Code: 1364. Field 'user_name' doesn't have any default value

 

 

발생 원인

null값이 허용되지 않은 column에 값을 입력하지 않고 데이터 입력

 

 

해결 방법

1. null값 허용여부: Nullable로 변경

2. null값이 허용되지 않는 값들을 포함하여 data insert

 

반응형
반응형

🐬 기본 환경: IDE: MySQL Workbench, Language: MySQL

 

 

발생 Error

MySQL로 다음 Source Code를 실행할 경우,

1
2
insert into user(user_name) values('abcdefg123456789');
 
 
 

🚨 다음과 같은 오류 발생

Error Code: 1406. Data too long for column

 

 

발생 원인

입력하고자하는 column의 크기를 넘어서는 데이터의 입력

 

 

해결 방법

1. 입력받을 수 있는 데이터의 크기를 늘림

varchar(30) → varchar(100)

2. 유효성 검사를 통해 입력할 수 있는 데이터 크기 제한

 

반응형