Значения раскрывающегося поля внешнего ключа phpMyAdmin - PullRequest
11 голосов
/ 19 марта 2010

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

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

Когда я иду, чтобы добавить данные, для CountyId будет выпадающее окно, и значения будут выглядеть примерно так:

-1

1-

Вот мое альтернативное утверждение:

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

Ответы [ 5 ]

9 голосов
/ 07 июля 2010

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

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

6 голосов
/ 20 июня 2010

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

Пример:

$cfg['ForeignKeyDropdownOrder'] = array( 'content-id');
/* 'content' is the referenced data, 'id' is the key value. */
3 голосов
/ 21 июня 2010

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

0 голосов
/ 20 июля 2013

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

0 голосов
/ 19 марта 2010

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

...