2012-02-08 1 views
1

обратные кавычки я должен отсутствовать что-то очевидное, но все-таки ...MySQL ERROR 1064 (42000) - даже с

Я получаю MySQL ERROR 1064 (42000), когда я пытаюсь запустить следующее:

CREATE TABLE `mgr_user` 
(
    `id` INT NOT NULL AUTO_INCREMENT, 
    `customer_id` INT NOT NULL, 
    `username` VARCHAR(25), 
    `password` VARCHAR(100), 

    INDEX(`customer_id`), 
    FOREIGN KEY `customer_id` REFERENCES `customer`(`id`) ON UPDATE CASCADE ON  DELETE RESTRICT 
); 
+0

Показать полную схему. –

+0

это только другие создания: –

+0

CREATE TABLE клиент ( \t ID INT NOT NULL AUTO_INCREMENT, \t имя VARCHAR (25), \t PRIMARY KEY (ID) ); –

ответ

4

Вам необходимо, чтобы обертывание внешнего ключа с круглыми скобками. Также ваш автоответчик должен быть ключом. См сильфонных

CREATE TABLE `mgr_user` 
(
    `id` INT NOT NULL AUTO_INCREMENT, 
    `customer_id` INT NOT NULL, 
    `username` VARCHAR(25), 
    `password` VARCHAR(100), 
    INDEX(`customer_id`), 
    UNIQUE KEY (`id`), -- <- Auto column is should be a key 
    FOREIGN KEY (`customer_id`) REFERENCES `customer`(`id`) ON UPDATE CASCADE ON DELETE RESTRICT 
); 

После этих 2 изменений, я получил Query OK, 0 rows affected (0.07 sec)

+0

Отлично! Спасибо. –