Значения поля раскрывающегося списка внешних ключей 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