2012-12-29 26 views
0

我有兩個表 '成員' 和 '書' 定義爲:MySQL的errorno 150

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 
); 

現在我想創建follwing表名爲 '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」 請幫助。

+0

什麼是完整的錯誤信息? –

+0

無法創建表'lms.return_book' kunal18

+1

看看這個。可能會幫助你。 http://forums.mysql.com/read.php?22,19755,570578#msg-570578 –

回答

0

有列名的「成員」表「mem_id」一個錯字:d!此外,我還了解到引用列和引用列必須具有相同的類型。

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    
); 
+0

OOPs:D!這是一個錯字! – kunal18

+0

現在我已經在這個問題上進行了更正。 – kunal18