예를 들어, 데이터 intregrety 많은 관계로 하나를 만들기 : 독서에서내가 다음 데이터베이스 테이블 레이아웃 작성하는 경우
CREATE TABLE IF NOT EXISTS Users_parent (
ID int(255) NOT NULL AUTO_INCREMENT,
Username text NOT NULL,
Password text NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS Users_Child (
ID int(255) NOT NULL AUTO_INCREMENT,
Firstname varchar(255) NOT NULL,
SecondName varchar(255) NOT NULL,
UserID int(255) NOT NULL,
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS Users_OtherChild (
ID int(255) NOT NULL AUTO_INCREMENT,
Warnings text NOT NULL,
UserID text NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
을 UserID
가 많은 관계로 하나를 설정하는 외부 키가 될 수있는 모든 같은 스키마 내의 다른 관련 테이블.
이것은 MySQL 데이터베이스 내의 저장 프로 시저 내에서 실행되는 것으로 알고 있지만 부모 테이블과 관련된 모든 하위 정보가 없도록 모든 하위 테이블이 삭제 될 때까지 부모 테이블의 행 삭제를 어떻게 금지합니까?
당신이 계단식 자식 테이블에서 삭제 원인이 부모 테이블에 DELETE를 찾고 계십니까 시행 계단식의 상세한 explaination에 대한 here을 삭제합니다보기? 부모님 삭제를 중지 하시겠습니까? (구현은 이것에 대한 응답에 크게 의존 할 것입니다.) –
@Declan_K 모든 자식 테이블에 연결된 데이터가 없어 질 때까지 부모 행 삭제 방지 –
죄송합니다. 질문에 답할 수 없습니다. '잘 물어 보지 마라'). "모든 하위 테이블에 관련 데이터가 없어 질 때까지"라고 말하면 관련 날짜 삭제가 백그라운드에서 자동으로 수행되기를 기대합니까? 아니면 사용자에게 손상된 날짜가 있음을 경고하고 부모에 대한 삭제를 중지하고 싶습니까? ? –