Значения поля раскрывающегося списка внешних ключей phpMyAdmin

Я использую phpmyadmin (php и mysql), и у меня возникли проблемы с привязкой таблиц с использованием внешних ключей.

Я получаю отрицательные значения для поля countyId (который является внешним ключом). Тем не менее, он отлично связывается с моей другой таблицей, и она отлично каскадирует.

Когда я перейду к добавлению данных, появится окно сбрасывания для countyId, и значения выглядят примерно так:

-1

1-

Вот моя инструкция alter:

ALTER TABLE Baronies
ADD FOREIGN KEY (CountyId)
REFERENCES Counties (CountyId)
ON DELETE CASCADE

Ответ 1

Как я объяснил в ServerFault:

Это не отрицательный номер, функция phpMYAdmin должна показывать значение внешнего ключа и поле пользовательского описания рядом с ним. В ссылочной таблице (округах) вы можете перейти в "Вид отношений", и под таблицей находится поле выбора "Выберите поле для отображения", в котором вы выбираете значение, которое будет отображаться рядом с значением "Значение округа" в таблице ссылок (бароны). Также смотрите: phpymadminWiki

Ответ 2

Вы можете изменить внешний вид этого выпадающего меню с помощью параметра ForeignKeyDropdownOrder. (См. документация PMA).

Пример:

$cfg['ForeignKeyDropdownOrder'] = array( 'content-id');
/* 'content' is the referenced data, 'id' is the key value. */

Ответ 3

Как сказал Лекс, это именно то, как phpMyAdmin отображает значения. Если вы видите "-1" или "1-" в этом раскрывающемся списке, это всего лишь 1.

Ответ 4

Проверьте, используют ли ваши таблицы механизм MyIsam. В этом случае внешние ключи не поддерживаются. Вместо этого используйте InnoDB.

Ответ 5

перейти к операции, чем изменить myiasm на innoDB, чем Go