2009-03-23 9 views
7

У меня есть существующая таблица InnoDB, у которой уже есть внешние ключи, указывающие на разные таблицы.Как добавить внешний ключ, указывающий на ту же таблицу, используя phpMyAdmin?

Но когда я пытаюсь создать внешний ключ, указывающий на индекс Primary, я получаю сообщение об ошибке (проверьте тип данных).

Таблица является пользователем с User_Id как основным.

Мне нужен внешний ключ Manager_ID, который является FK для User_Id.

Оба INT Оба Длина 10 Unsigned ...

Но я все еще получаю ошибку проверки данных ...?

+0

Вы говорите о том, чтобы придать таблице внешний ключ * к себе *? – chaos

+0

Вот что кажется. Но, может быть, мы ошибаемся, так как он также говорит о таблице InnoDB. Я думаю, нам может понадобиться дополнительная информация о схеме базы данных. Мой ответ может быть или не быть тем, что он ищет. –

+2

Нет ничего плохого в том, что имеется внешний ключ для первичного ключа той же таблицы, например. usertable имеет связь FK между кредитным офицером и руководителем ссуды. –

ответ

14

Убедитесь, что Manager_ID не установлен на NOT NULL.

Вы должны разрешить null в этом поле, так как у самого высшего человека в компании не будет менеджера.

Я нашел a post на платах MySQL, которые могут помочь.