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파일을 사용하면서 적용시키는 방법을 숙지하지 못했다.