2014-03-24 7 views
0

Я пытаюсь заставить этот mysql-запрос работать, но он не будет.Как это исправить?

CREATE TABLE IF NOT EXISTS `gospel_library`.`catalog_book_files` (
    `id` INT NOT NULL AUTO_INCREMENT, 
    `book_id` INT NOT NULL, 
    `book_order` INT NOT NULL DEFAULT 0, 
    `added` DATETIME NOT NULL, 
    `modified` DATETIME NOT NULL, 
    `version` INT NOT NULL DEFAULT 1, 
    `downloads` INT NOT NULL DEFAULT 0, 
    `file` VARCHAR(100) NOT NULL, 
    `uri` VARCHAR(500) NOT NULL, 
    PRIMARY KEY (`id`), 
    INDEX `catalog_book_files_ndx1` (`book_id` ASC, `book_order` ASC), 
    INDEX `catalog_book_files.fk1_idx`(), 
    CONSTRAINT `catalog_book_files.fk1` 
    FOREIGN KEY() 
    REFERENCES `gospel_library`.`catalog_book`() 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) 
ENGINE = InnoDB 
DEFAULT CHARACTER SET = utf8; 

1064 - У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для корректного синтаксиса использовать вблизи «), скованность catalog_book_files.fk1 FOREIGN KEY() REFERENCES ` GOSP»в строке 13

Я пытаюсь выяснить, что такое решение, которое я будет использовать, чтобы исправить это. Любая помощь будет оценена по достоинству.

+0

Вы должны указать иностранные и возможные ключи. –

+1

Возможно, вы захотите сделать заголовок немного более информативным :) –

ответ

3

Проблема в том, что вы создаете индекс без указанных столбцов. Либо Удалить

INDEX `catalog_book_files.fk1_idx`(), 

или изменить его, чтобы указать один или несколько столбцов

INDEX `catalog_book_files.fk1_idx` (`somecolumn`), 
+0

Моя проблема, не связывая ее с столбцом, это БД, которую кто-то создал и использует, они отправили мне, чтобы помочь управлять некоторыми данными , – Vincenzo

+1

Ваша проблема * есть * со ссылкой на столбец. Индекс, как сейчас, недействителен. Если кто-то отправил это вам, они отправили вам недействительный скрипт. – GolezTrol

+0

Они прислали мне модель MySQL Workbench. Не sql-файл. – Vincenzo

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