2014-04-26 5 views
0

я следующие таблицызапрос на создание таблицы MySQL составного первичного ключа из внешних ключей двух таблиц

books(
    bkid varchar(255), 
    bkname varchar(255), 
    bkauth varchar(255), 
    bkpub varchar(255), 
    bkedn int(10) 
) 

members(
    memid varchar(255), 
    memname varchar(255), 
    memaddr varchar(255), 
    memcon varchar(255), 
    mememail varchar(255) 
) 

bkid и memid являются первичными ключами.

Теперь я пытаюсь сделать составной первичный ключ (bkid и memid), принимая их в качестве внешних ключей из таблиц books и members, синтаксис дает мне некоторые ошибки, и я не в состоянии создать новую таблицу.

create table issuebooks(
    bkid varchar(255), 
    memid varchar(255), 
    issuestatus varchar(255), 
    references foreign key bkid(books), 
    references foreign key memid(members), 
    primary key (bkid,memid) 
); 
+0

@Wouter J.Error # 1064 –

ответ

0

Неверная инструкция создания таблицы. Это будет работать (проверено на SQLFiddle)

create table issuebooks(
    bkid varchar(255) references bkid(books), 
    memid varchar(255) references memid(members), 
    issuestatus varchar(255), 
    primary key (bkid,memid) 
); 

советы ... Использование целочисленных идентификаторов столбцов вместо VARCHAR (255), если вы можете ... Вы не будете сожалеть об этом. И сделайте эти столбцы NOT NULL.

+0

Да. Это сработало. Благодаря :) –

Смежные вопросы