0

次のように定義された 'member' と 'book' の 2 つのテーブルがあります。

create table member(

      mem_id bigint(11) unsigned auto_increment not null primary key,
      firstname varchar(20) not null,
      lastname varchar(20) not null,
      gender varchar(1) not null
);

create table book(

      book_id varchar(15) not null primary key,
      isbn varchar(15) not null,
      book_name varchar(100) not null
);

ここで、「return_book」という名前の次のテーブルを次のように作成します。

create table return_book(

      mem_id bigint(11) unsigned not null,
      book_id varchar(15) , 
      date date,    
      primary key(mem_id, book_id),
      foreign key(mem_id) references member(mem_id) 
      ON DELETE CASCADE,
      foreign key(book_id) references book(book_id)
      ON DELETE NO ACTION
      ON UPDATE CASCADE            
);

しかし、常に次のエラーが表示されます:「テーブル return_book を作成できません」助けてください。

4

2 に答える 2

0

構文エラーがあります

create table return_book(
mem_id bigint(11) unsigned not null,
book_id varchar(15) , 
date date,  
  primary key(mem_id, book_id),
  foreign key(mem_id) references member(mem_id) 
  ON DELETE CASCADE,
  foreign key(book_id) references book(book_id)
  ON DELETE NO ACTION
  ON UPDATE CASCADE            
);
于 2012-12-29T14:21:39.247 に答える
0

「メンバー」テーブルの列名「mem_id」にタイプミスがありました:D! さらに、参照列と参照列は同じ型でなければならないことも学びました。

于 2012-12-29T17:13:29.370 に答える