CREATE TABLE ids_info(
GTIN_13 varchar(14),
PRIMARY KEY(order_id),
FOREIGN KEY (product_id) REFERENCES products
);
외래키를 처음부터 이렇게 잘 만들어놨다면 상관없지만,
중간에 외래키를 추가/변경해야 할 때가 있다.
난 product_id를 외래키로 만들려고 한다.
난 위에처럼 컬럼조차 만들어놓지 않았다.
1. 컬럼 추가/삭제 방법
컬럼 추가 방법 alter table [테이블명] add [컬럼명] [타입]; 컬럼 삭제 방법 alter table [테이블명] drop [컬럼명] [타입]; 예시 >alter table ids_info add product_id int(100) not null; |
not null을 까먹어서 다시 삭제하고 만들어주었다.
2. 외래키 지정 방법
이제 외래키로 지정해주어야 한다.
외래키 지정 방법 |
[]를 생략하고 넣고 싶은 값을 넣으면 된다.
마찬가지로 옵션에는 on delete cascade / on update cascade 을 넣을 수 있다.
update는 이 값이 바뀔 때마다 나도 갱신, delete는 참조하는 키가 삭제되면 나도 삭제. 로 이해하면 된다.
이걸 까먹었어서 또 외래키를 삭제해야 한다..
3. 외래키 삭제
외래키를 삭제하기 위해선, 제약조건을 확인해야 한다.
제약조건 확인 방법 |
난 아까 잘못해서 ids_info_ibfk_1, 2 제약조건이 이렇게 2개임을 확인할 수 있다.
외래키 삭제 alter table [테이블명] drop foreign key [확인한 제약조건명]; |
외래키로 삭제해서 컬럼도 잘 삭제됨을 확인할 수 있다.
마지막 옵션까지 잘 줘서 추가한 외래키....
'mySQL' 카테고리의 다른 글
[mySQL]Auto_increment 초기화 (0) | 2020.11.30 |
---|---|
[mySQL]ERROR 1091 (42000): Can't DROP 'products_ibfk_1'; check that column/key exists (0) | 2020.11.27 |
bitnami로 mySQL접속하기 (0) | 2020.11.14 |
bitnami 사용법 (0) | 2020.06.09 |
[mac] apache 설치(설정) (0) | 2020.06.04 |