2010-06-01 3 views
0

두 테이블이있는 MySQL에서 작은 데이터베이스를 만들어야합니다.MySQL에서 작은 관계형 데이터베이스를 만들려면 어떻게해야합니까?

의류 및 ClotheType

의류가 : ID, 이름, 색상, 브랜드, 가격, ClotheTypeID ClotheType있다 : ID, 설명

마이크로 소프트 SQL에서는은 다음과 같습니다

create table Clothes(
id int, 
primary key(id), 
name varchar(200), 
color varchar(200), 
brand varchar(200), 
price varchar(200), 
clothetypeid int, 
foreign key clothetypeid references ClotheType(id) 
) 

나는 MySQL에서 이것을 필요로한다.

+0

시도해 보셨습니까? 어떻게 된 거예요? 오류가 있었습니까? 어떤 오류가 있었습니까? –

+0

내 질문에 대한 오해의 소지가있는 경우,이 코드 예제는 Microsoft SQL 용이며, MySQL과 비슷한 것을 원합니다. –

답변

1
create table Clothes(
    id int, 
    primary key(id), 
    name varchar(200), 
    color varchar(200), 
    brand varchar(200), 
    price varchar(200), 
    clothetypeid int, 
    constraint `constr_Clothes_clothetypeid_fk` foreign key `clothetypeid_fk` (`clothetypeid`) references `ClotheType`(`id`) 
) ENGINE=INNODB 

NB에 MySQL의 문서 항목입니다.

  • 이드 ClotheType 테이블에서 인덱스 된 컬럼이어야하며
  • ClotheTypeENGINE=INNODB 있어야 동일 유형 (즉, int)를 가져야한다. 당신은 이미 다음을 만든 경우 당신은 당신이 Ólafur의 대답에 귀하의 코멘트에 제기 된 질문에 대답하기 ALTER TABLE ClotheType ENGINE=INNODB

를 사용하여 변경할 수 있습니다 MySQL은 많은에 기본적으로 외래 키 제약 조건을 처리는 관련 데이터 정의 언어 문을 구문 분석으로 그러나 일부 스토리지 엔진은이를 지원하지 않습니다. 대부분의 MySQL 설치에서 디폴트 스토리지 엔진은 외래 키를 지원하지 않는 MyISAM입니다. InnoDB는 그들을 지원합니다.

0

MySQL (기본값 MyISAM 대신)에서 InnoDB 데이터베이스 엔진을 사용할 수 있지만 외래 키 제약 조건이 있습니다.

다음은 InnoDB Foreign Key Constraints

+0

그렇다면 MySQL은 관계를 어떻게 기본적으로 처리합니까? –

+0

사용하는 데이터베이스 엔진에 따라 다릅니다. MyISAM을 사용하면 관계가 없습니다. InnoDB는 MySQL 내의 관계형 데이터베이스 엔진이다. –

관련 문제