2014-04-03 2 views
0

basiclly 테이블을 3 개 작성해야합니다.mysql 테이블에서 두 번째 행을 세 번째 테이블로 조인하는 방법

다음 두 가지를 작성했습니다.

  • 표 1

    • USER_ID
    • 이메일
    • 비밀번호
  • 표 2

    • Schedule_id
    • 시간
    • 날짜
  • 표 3은 여기서 만약 테이블 번호 하나에서 언급 한 것과 동일해야 USER_ID이

    • USER_ID < < < <이어야 테이블 1에서 사용자 ID를 변경하려고했는데 테이블 번호 3에서도 변경됩니다.
    • 당신이 필요로하는 무엇 10
+0

무엇이 당신의 질문이됩니까? – SS781

+1

table_3의 user_id에 user_id 열의 table_1에 대한 외래 키가있는 것이 있습니까? 그러면 외래 키 제약 조건이 발생하여 데이터 무결성을 유지할 수 있습니다. 그러나 데이터 무결성을 유지하기 위해 table_1의 변경 사항을 캐스케이드하는 프로세스 나 트리거가 필요할 수도 있습니다. 모든 말을하고, 당신은 user_id 값을 변경하지 않아야하고, 기본/고유 키로 만들고, 다른 열, 즉 name.lastname을 가질 수 있습니까? –

+0

네, 저렇게하고 싶습니다! 나는 user_id 값을 변경하지 않겠다. 필자는 이미 기본 키/고유 키로 설정 했으므로 ok로 할 수있다. 어떻게하면 테이블을 만들까요? 덕분에 미리 너희들은 너무 도움이 신의 축복이다 –

답변

0

이런 ON 업데이트 CASCADE 정의와 FOREIGN KEY입니다 :

create table table_3 (
    user_id int(10) unsigned, 
    CONSTRAINT fk_tb_1_user_id FOREIGN KEY (user_id) REFERENCES table_1(user_id) ON UPDATE CASCADE 
); 

INT (10) 부호 내가 예시하기 위해 발명 한 종류이지만, 그것은 정확히 일치해야합니다 table_1의 user_id 열 유형입니다.

외래 키가 작동하려면 table_3의 모든 user_id가 table_1에 있어야하며 테이블 _3에 table_3이 없으면 user_id를 삽입 할 수 없습니다.

관련 문제