Синтаксическая ошибка mySQL при ограничении

CREATE TABLE MARINA_SLIP
(
SLIP_ID VARCHAR(4),
MARINA_NUM VARCHAR(4),
SLIP_NUM VARCHAR(4),
LENGTH INT,
RENTAL_FEE DECIMAL(8,2),
BOAT_NAME VARCHAR(50),
BOAT_TYPE VARCHAR(50),
OWNER_NUM VARCHAR(4),
CONSTRAINT MARINA_SLIP_SLIP_ID_PK PRIMARY KEY (SLIP_ID),
CONSTRAINT MARINA_SLIP_MARINA_NUM_FK FOREIGN KEY (MARINA_NUM),
CONSTRAINT MARINA_SLIP_OWNER_NUM_FK FOREIGN KEY (OWNER_NUM) REFERENCES OWNER (OWNER_NUM)
);

Ошибка гласит:

ОШИБКА 1064 (42000): ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'CONSTRAINT MARINA_SLIP_OWNER_NUM_FK FOREIGN KEY (OWNER_NUM) REFERENCES OWNER (O' в строке 12

Кто-нибудь знает, почему это не сработает?

Изменить: это было понято для меня, небольшая ошибка, связанная с отсутствием ссылки на внешний ключ.


person borked97    schedule 02.09.2017    source источник
comment
Первый внешний ключ не ссылается ни на один столбец...   -  person Jaskaranbir Singh    schedule 03.09.2017
comment
@JaskaranbirSingh спасибо, что указали на это. Я нахожусь в начальном классе SQL, где, по сути, я скопировал ограничения, а ссылка на внешний ключ была перемещена на строку вниз. Очевидная ошибка, которую я потратил 30 минут, пытаясь понять. Благодарю вас!   -  person borked97    schedule 03.09.2017


Ответы (1)


добавить REFERENCES к CONSTRAINT MARINA_SLIP_MARINA_NUM_FK FOREIGN KEY (MARINA_NUM) например CONSTRAINT MARINA_SLIP_MARINA_NUM_FK FOREIGN KEY (MARINA_NUM) REFERENCES OWNER (MARINA_NUM)

person M7md0136466    schedule 02.09.2017