ER_BAD_FIELD_ERROR: Unknown column 'column' in 'field list'

nmy0502·2020년 5월 7일
0

[TIL] ERR와 해결

목록 보기
1/3

실제 에러 메세지

ER_BAD_FIELD_ERROR: Unknown column 'username' in 'field list'

username이라는 이름의 열이 field list에 없다는 뜻.

해결 방법

1.우선 unsername열이 정말로 없는지 확인한다.

mysql을 켜고 데이터베이스에 접속해 테이블을 확인했다.

$ mysql -u root -p
USE chat
DESCRIBE messages;
+--------+------+------+-----+---------+----------------+
| Field  | Type | Null | Key | Default | Extra          |
+--------+------+------+-----+---------+----------------+
| id     | int  | NO   | PRI | NULL    | auto_increment |
| text   | text | YES  |     | NULL    |                |
| userid | int  | YES  |     | NULL    |                |
+--------+------+------+-----+---------+----------------+

확인 결과, 추가한 부분이 반영되지않은 걸 발견했다.

2.외부에서 작성한 .sql파일을 mysql에 적용시켜주는 메소드를 사용해 내용을 업데이트 시켜주었다.

$ mysql -u [사용자] -p < [sql파일]

그리고 다시 확인한 결과

$ mysql -u root -p < server/schema.sql
$ mysql -u root -p
USE chat
DESCRIBE messages;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int          | NO   | PRI | NULL    | auto_increment |
| username | varchar(255) | YES  |     | NULL    |                |
| text     | text         | YES  |     | NULL    |                |
| roomname | text         | YES  |     | NULL    |                |
| userid   | int          | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

예상하는 모양대로 테이블이 만들어졌다.

에러가 난 이유

sql 파일 해당 테이블에 username 열을 추가해서 자동으로 반영될 줄 알았는데 그러지 않았다.
외부 sql파일을 사용하면서 적용시키는 방법을 숙지하지 못했다.

profile
개발자가 되기위해 공부중!

0개의 댓글