체크

2011-07-26 3 views
0

나는 다음과 같은 테이블 구조가 있습니다체크

 
table A 
--------- 
id | name 

table B 
-------------- 
id | x | y | z 

table B (id) : references table A (id) 

내가 table A의 이름을 수정할 수 있습니다 경우에도 테이블 A의 ID, 에 대한 table B에 존재하는 데이터 외래 키가 아니기 때문에.

table Aidtable A의 레코드가 다른 테이블에있는 경우이 변수의 수정을 제한하고 싶습니다. idtable A 인 각 테이블을 외래 키로 사용하거나 Hibernate 또는 MySQL에 다른 옵션이있는 각 테이블을 쿼리해야합니까?

답변

1

외래 키가 참조하는 키에 대한 제약 조건을 통해 데이터베이스에서이를 수행 할 수 있습니다. 데이터베이스는 자동으로 지정한 작업을 수행합니다.

+0

좀 더 자세하게 설명해 주시겠습니까 – HKumar

+0

@HKumar SQL은 정의 된 외부 테이블에서 해당 키가 업데이트되거나 삭제 될 때 수행되는 작업을 결정하는 외래 키를 정의 할 때 CONSTRAINT 옵션을가집니다. 현재 테이블로 업데이트/삭제하거나, 성공 대신 제약 조건 위반 오류가 발생하도록 작업을 제한하거나 현재 테이블에서 외래 키 값을 null로 설정하거나 아무것도하지 않으려면 외래 키 더 이상 유효하지 않습니다. 이 모든 것을 철저히 조사해야합니다. – EJP

관련 문제