2014-07-07 2 views
-3

나는 MySQL로 새로운 오전에 직면 다음과 같은 문제 :기본 외래 키를 사용하여 두 테이블을 연결하는 방법은 무엇입니까?

girls & girls_info 테이블이있는 데이터베이스 info인치 자, id 기본 키 girls을 사용하여이 두 테이블을 연결하고 다른 girls_info 테이블에 외래 키로 만들고 싶습니다. 내가 어떻게?

나는 많은 오류에 직면했다. 나는 이해할 수 없다. AUTO_INCREMENT, CONSTRAINTS, SYNTAX errors. 위의 용어의 의미는 알고 있지만 실제로는 전혀 모른다.

+0

내가 먼저 좋은 책이나 튜토리얼의 모든 개념을 찾아 제안을 읽어보십시오. –

+0

이 두 테이블을 조인하고 필요한 열을 가져 오는 SQL 쿼리를 작성할 수 있습니다. 다음은 예제가있는 자습서입니다. http://www.tizag.com/mysqlTutorial/mysqljoins.php –

답변

0

테이블의 열을 추가/제거 할 수있는 예제 열 이름이있는 샘플 테이블을 만들었습니다.

는 모두 테이블 외래 키에 대한 더 나은 이해를 위해

에서 동일한 정의가 있어야 INNO DB,이 경우 girl_id에서 또한 열과 테이블을 모두 확인해야외래 키 제약 조건을 사용합니다. 다음/코드를 설계하려고 http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html

샘플 MYSQL 덤프

CREATE TABLE `girls` (
     `girl_id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
     `other_info` varchar(500) NOT NULL, 
     PRIMARY KEY (`girl_id`) 
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 


    CREATE TABLE `girls_info` (
     `girl_id` int(10) unsigned NOT NULL, 
     `name` varchar(100) DEFAULT NULL, 
     `age` int(11) DEFAULT NULL, 
     PRIMARY KEY (`girl_id`), 
     CONSTRAINT `girl_id` FOREIGN KEY (`girl_id`) REFERENCES `girls` (`girl_id`) ON UPDATE CASCADE 
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 
관련 문제