MySQL ERROR 1064 (42000) - даже с кавычками - PullRequest
1 голос
/ 08 февраля 2012

Я, должно быть, упускаю что-то очевидное, но все же ...

Я получаю 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
 );

1 Ответ

4 голосов
/ 08 февраля 2012

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

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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...