2012-09-19 4 views
1

위치 및 사용자 프로필이라는 두 테이블로 데이터베이스를 만들려고합니다.UserProfile 테이블과 Location 테이블간에 관계를 만들려면 어떻게해야합니까?

위치에는 주소가 들어 있으며 UserProfile에는 HowtownLocation 및 CurrentLocation이 있습니다.

Hometownlocation 및 Currentlocation에 위치의 ID가 포함되도록하고 사용자가 삭제 될 때 캐스케이드 (한 명 이상의 사용자가 동일한 주소를 공유하지 않는다고 가정).

한 명의 사용자가 여러 주소 (예 : 고향 및 현재)를 가질 수 있으며 하나의 주소는 많은 사용자가 사용할 수 있습니다.

일종의 작동 버전이 있지만 변경 사항을 계단식으로 처리해야하지만 ... 새 UserProfile을 작성하여 PHPMyAdmin에서 데이터를 입력 할 수 있기를 원합니다.

MySQL Workbench를 사용하고 있지만 중요하지 않습니다.

:

+0

DB에서 트리거를 설정할 수 있습니까? 이 경우 삭제시 설정 트리거가 아주 똑똑합니다 ... – jtheman

+0

사용자가 삭제 될 때 무엇을 캐스케이드하고 싶습니까? – ajon

+0

오, 죄송합니다. 해당 위치의 사용자가 자신의 계정을 삭제하고 해당 주소의 유일한 사용자 인 경우 위치 행을 삭제하려고합니다. – Forest

답변

1

MySQL Reference 도움이됩니다. 또한

[CONSTRAINT [symbol]] FOREIGN KEY 
    [index_name] (index_col_name, ...) 
    REFERENCES tbl_name (index_col_name,...) 
    [ON DELETE reference_option] 
    [ON UPDATE reference_option] 

reference_option: 
    RESTRICT | CASCADE | SET NULL | NO ACTION 

데이터베이스가의 MyISAM하지 있는지 확인하지만, 이노 이는 내가 아는 한 최신의 MySQL 버전의 기본입니다 : 구문입니다.

관련 문제