Я думаю, что это дает вам ошибку, потому что вы ссылаетесь на несуществующую, еще не созданную таблицу, которая является таблицей, которую вы пытаетесь создать сама.
почему бы вам сначала не создать таблицузатем добавьте ограничение (внешний ключ)?
, но есть возможная ошибка, с которой вы можете столкнуться, выполняя это в той же таблице.что произойдет, если вновь добавленной записи не будет назначен родитель?значение по умолчанию - 0. выдаст ли это ошибку, потому что нет записи с id = 0?
. Я предлагаю вам нормализовать это, создав для этого таблицу отношений.
CREATE TABLE CategoryGroups //or whatever name you find fits.
(
`Cat_id` int(11) NOT NULL,
`Parent_id` int(11),
FOREIGN KEY (`Parent_id`) REFERENCES categories(`id`),
FOREIGN KEY (`Cat_id`) REFERENCES categories(`id`)
)
Рекомендациибыло бы нормализовать все данные и удалить все многие-многие отношения между любыми двумя таблицами путем создания таблиц отношений.