[SQL] 결합(JOIN)된 테이블 연관 관계의 기본키, 외래키 변경 불가능

YS_Study.log·2022년 12월 16일
0

테이블 제약조건 기본키 , 외래키 설명


데이터의 무결성 보장

기준테이블, 참조테이블이 연결되어있는 기본키,외래키 컬럼의 데이터는 수정 및 삭제가 안된다.

  • 회원(기준테이블) 구매(참조테이블) 현재 형식
    • mem_id 키/컬럼을 통해 연관관계로 묶여있다.
create table member 
( mem_id char(8) not null primary key,
  mem_name varchar(10) not null,
  height tinyint unsigned null
);

create table buy
(  num int auto_increment not null primary key,
   mem_id char(8) not null,
   prod_name char(6) not null,
   foreign key(mem_id) references member (mem_id)
);


연관관계인 기본키/외래키인 컬럼 수정 및 삭제 불가능

  • 오류발생코드
update member set mem_id = "BLK" where mem_id="est";
update buy set mem_id = "BLK" where mem_id="est";

delete from member where mem_id='est'
delete from buy where mem_id='est'

mem_id로 두 테이블이 묶여있어서, 수정 변경이 안된다.
-> 반대로도 마찬가지지만, 각각 테이블에서 따로 연관관계 키/컬럼의 데이터를 변경하여 참조테이블에서 기존테이블에서 mem_id로 데이터를 조회하면 서로 데이터조회가 안되면 안된다.

BUT 변경 가능한 방법도 있다!
변경하는 방법

profile
느리지만 조금씩 공부하는 중 입니다. 현재 1년 6개월차 신입입니다 ><!

0개의 댓글