>데이터 베이스 >navicat >Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법

Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-08-05 09:28:4612261검색

Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법

두 테이블 사이에 다대다 관계를 구축하세요. 정리 데이터 테이블(clean_data 테이블)과 사용자 테이블(user 테이블)은 다대다 관계를 구축했습니다. 아래 그림과 같이

Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법

1. 테이블을 생성합니다

. navicat을 열고 clean_data 테이블과 user 테이블, 그리고 두 테이블 사이의 관계 테이블(clean_data_user 테이블)을 생성합니다.

테이블 구조는 다음과 같습니다:

Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법

Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법

Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법

관련 권장 사항: "Navicat for mysql graphic tutorial"

2.1 첫 번째 설정 clean_data_ 사용자 테이블 연관된 cln_dt_id 및 user_id 필드가 기본 키입니다. 아래 그림과 같이

2.2 외래 키 버튼을 클릭하여 외래 키 관계를 설정합니다. 필드 이름에서 알 수 있듯이 cln_dt_id는 clean_data 테이블의 ID와 연결되고 user_id는 user 테이블의 ID와 연결됩니다. 아래 그림과 같습니다. Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법

Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법참고:

1. 데이터베이스 테이블에서 다대다 관계를 설정할 때 기본 키가 먼저 설정되어야 합니다. 외래 키가 먼저 설정되지 않으면 아래 그림 6과 같이 오류 1215가 발생합니다. 이 문제로 거의 2시간을 낭비했습니다. 정말 그러면 안 됩니다.

**

나중에 기본 키를 만들 필요가 없고 cln_td_id 및 user_id에 대한 인덱스만 만들면 된다는 것을 알게 되었습니다!

**

이제 1215 오류의 원인을 정리하겠습니다. Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법

MySQL에서 외래 키 생성 오류: 1215 외래 키 제약 조건을 추가할 수 없습니다

1. 엄격한 일치가 아닙니다. 그 중 두 단어 short는 int(6)과 int(7)로 일치하지 않습니다. 하나는 서명되지 않은(서명되지 않은) 것이고 다른 하나는 서명된 것으로 역시 일치하지 않습니다.

2. 외래 키를 설정하려는 필드가 색인화되지 않았거나 기본 키가 아닙니다. 그 중 하나가 기본 키가 아닌 경우 먼저 해당 키에 대한 인덱스를 생성해야 합니다.

3. 테이블 중 한두 개가 MyISAM 엔진의 테이블입니다. 외래 키 제약 조건을 사용하려면 테이블이 InnoDB 엔진이어야 합니다. (실제로 두 테이블 모두 MyISAM 엔진이면 이 오류는 전혀 발생하지 않지만 외래 키는 생성되지 않고 인덱스만 생성됩니다. 생성됨) 테이블의 엔진 종류를 확인해야 합니다.

4. 외래 키 이름은 반복될 수 없습니다.

5. ON DELETE SET NULL을 설정했을 수 있지만 관련 키 필드는 NOTS NULL 값으로 설정되어 있습니다. cascade 속성 값을 수정하거나 필드 속성을 null을 허용하도록 설정하여 문제를 해결할 수 있습니다.

6. 문자 집합 및 대조 옵션이 테이블 수준과 필드 수준에서 일치하는지 확인하세요.

7. default=0과 같이 외래 키에 기본값을 설정했을 수 있습니다.

8. ALTER 문에 구문 오류가 있습니다.

위 내용은 Navicat for MySQL에서 다중 테이블 링크를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.