FORUM 테이블과 COMMENT테이블에 외래키로 설정되어 있는 ucode를
AUTO_INCREMENT로 변경하려고 하는데 외래키로 설정되어 있어서
외래키 해제 후 변경한 다음에 다시 외래키 설정을 해줘야한다.
1. 해당 테이블들 LOCK 걸어주기
LOCK TABLES
USER WRITE,
FORUM WRITE,
COMMENT WRITE;
일단 테이블을 잠궈준다.
2. 외래키 해제
ALTER TABLE FORUM
DROP FOREIGN KEY USER,
MODIFY ucode INT;
FOREIGN KEY 옆에 USER는 외래키 설정할 때 주석같은 건데 잘못 입력했다.
ALTER TABLE COMMENT
DROP FOREIGN KEY COMMENT,
MODIFY ucode INT;
FORUM 테이블과 마찬가지로 잘못 입력했다. FOREIGN KEY 옆에 본인이 설정한 거 입력하면 된다.
3. ucode 속성 변경하기
ALTER TABLE user MODIFY ucode INT AUTO_INCREMENT;
4. 변경됐는지 확인하기
DESC user;
5. 외래키 재생성
ALTER TABLE FORUM
ADD CONSTRAINT forum_user_ucode FOREIGN KEY (ucode)
REFERENCES USER (ucode);
ALTER TABLE COMMENT
ADD CONSTRAINT comment_user_ucode FOREIGN KEY (ucode)
REFERENCES USER (ucode);
6. 잠궜던 테이블 UNLOCK해주기
UNLOCK TABLES;
'DB' 카테고리의 다른 글
sequelize dataTypes (0) | 2021.01.14 |
---|---|
[MySQL] 데이터 수정 (0) | 2020.11.28 |
[MySQL] 컬럼 값 더하기 (0) | 2020.10.11 |
[MySQL] ALTER 사용하기 (0) | 2020.10.07 |
[MySQL] 테이블 만들기 (0) | 2020.05.20 |