728x90

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

 

 

발생 Error

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

1
2
insert into user_bookmark values ('user_test001');
 
 
 

🚨 다음과 같은 오류 발생

Error Code: 1136. Column count doesn't match value count at row 1

 

 

발생 원인

insert 구문 작성 시, table명만 작성하고 모든 column에 대하여 값을 입력하지 않음

 

 

해결 방법

1. insert 구문 작성 시, table명 뒤에 column을 따로 지정해주지 않을 경우, 모든 column에 값을 입력해야하며, 순서도 table의 column 순서와 맞춰야 함

▶ 모든 column값 입력

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

2. insert 구문 작성 시, table명 뒤에 입력하고자하는 column 지정

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

 

728x90
728x90

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

 

 

발생 Error

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

1
2
update user set user_name='user_test002';
 
 
 

🚨 다음과 같은 오류 발생

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column

 

 

발생 원인

safe update mode가 적용된 상태에서 where 조건절 없이 update 구문 작성

 

 

해결 방법

1. update 구문 작성 시, where절이 없을 경우 모든 record가 업데이트됨

이를 방지하기 위해 safe update mode를 사용할 수 있으며, 해당 모드의 경우 update 구문에 where 조건절을 작성

1
2
update user set user_name='user_test002' where user_name='user_test001';
 
 
 

2. table에 safe update mode 해제

참고: 

 

[MySQL] Safe mode 해제 하는 방법

MySQL Safe mode Safe mode update 또는 delete 할 때 where 절이 없거나 where 절에 key column 외의 비교문일 때, 쉽게말해 한번에 여러 row 를 업데이트할 때, 막아두는게 Safe mode On 입니다. 예를들어 아래와 같은

hello-bryan.tistory.com

 

728x90
728x90

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

 

 

발생 Error

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

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

🚨 다음과 같은 오류 발생

Error Code: 1054. Unknown column 'content_no' on 'field list'

 

 

발생 원인

user_bookmark 테이블에 'content_no'이라는 column이 존재하지 않음

 

 

해결 방법

1. user_bookmark 테이블에 'content_no' 추가

1
2
3
4
5
6
7
8
9
# 맨 뒤에 column 추가
alter table 'user_bookmark' add 'content_no' varchar(30not null;
 
# 맨 앞에 column 추가
alter table 'user_bookmark' add 'content_no' varchar(30not null first;
 
# 지정 column 뒤에 column 추가
alter table 'user_bookmark' add 'content_no' varchar(30not null after '지정 column name';
 
 
 

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

 

 

 

참고 자료

 

MySQL 테이블 컬럼 추가 - 제타위키

다음 문자열 포함...

zetawiki.com

 

728x90
728x90

🐬 기본 환경: 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');
 
 
 

 

728x90
728x90

🐬 기본 환경: 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명에 오타가 있는지 확인

 

728x90