본문 바로가기
개발 Error

[MySQL] DB 수정하기

by doraemin_dev 2025. 2. 25.

에러 메시지를 보면, MySQL에서 password 컬럼이 NULL을 허용하지 않기 때문에 발생한 문제.

  File "C:\Users\007\AppData\Local\Programs\Python\Python310\lib\site-packages\pymysql\err.py", line 150, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.IntegrityError: (pymysql.err.IntegrityError) (1048, "Column 'password' cannot be null")
[SQL: INSERT INTO user (id, name, password, difficulty_lv, description_st, clr_knowledge, created_at, updated_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)]
[parameters: ('9726a68e-ee9c-4293-923b-097b0e44f3b2', 'min1593@nate.com', None, None, None, None, datetime.datetime(2025, 2, 25, 5, 49, 27, 948153, tzinfo=datetime.timezone.utc), datetime.datetime(2025, 2, 25, 5, 49, 27, 948153, tzinfo=datetime.timezone.utc))]
(Background on this error at: https://sqlalche.me/e/20/gkpj)

 

원래는 password가 nullable=False 이었는데,

카카오 로그인을 진행하면서 password가 필요없어지자 nullable=Ture로 중간에 변경해버렸다.

이때문에 데이터베이스 테이블이 업데이트되지 않은 것이다.


해결 방법:

데이터베이스의 user 테이블을 업데이트해야 한다.
password 컬럼을 NULL이 허용되도록 변경하자.

USE mydatabase;
ALTER TABLE user MODIFY password VARCHAR(255) NULL;