2014-11-20 2 views
1

Я пытаюсь создать иерархию категорий в MySQL и код, который я использую для создания categories таблица выглядит следующим образом:категория иерархии с MySQL

CREATE TABLE `categories` (
    `id` int(11) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 
    `code` varchar(5) DEFAULT NULL, 
    `name` varchar(60) NOT NULL, 
    `description` tinytext, 
    `parent_id` int(11) DEFAULT NULL, 
    FOREIGN KEY parentid_fk (`parent_id`) 
     REFERENCES categories (id) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

база данных отвечает ошибка пронумерованных 150. Что может для решения этой проблемы?

ответ

1

Марка parent_id - это то же определение (я имею в виду тип данных и все) с первичного ключа id, как показано ниже.

`parent_id` int(11) unsigned 

Ваш id столбец определяется как id int(11) unsigned; тогда как parent_id определяется как parent_id int(11).

parent_idint(11) unsigned. См. A Proof

+0

Это вызывает проблему Рахул. Я игнорировал проблему, потому что идентификатор был сгенерирован инструментом (и я довольно новичок в этом инструменте). Спасибо за вашу помощь. –

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