Я использую phpmyadmin (php
& mysql
) и я испытываю много затруднений, связывающих таблицы с помощью внешних ключей.
Я получаю отрицательные величины для поля countyId
(который является внешним ключом). Однако это связывается с моей другой прекрасной таблицей, и это располагается каскадом прекрасный.
Когда я пойду для добавления данных будет поле отбрасывания для CountyId
и значения выглядят примерно так,
-1
1-
Вот мой изменять оператор:
ALTER TABLE Baronies
ADD FOREIGN KEY (CountyId)
REFERENCES Counties (CountyId)
ON DELETE CASCADE
Проверьте, используют ли ваши таблицы движок MyIsam. В этом случае внешние ключи не поддерживаются. Вместо него используйте InnoDB.
Вы можете изменить вид этого раскрывающегося списка с помощью параметра ForeignKeyDropdownOrder
. (См. документацию PMA ).
Пример:
$cfg['ForeignKeyDropdownOrder'] = array( 'content-id');
/* 'content' is the referenced data, 'id' is the key value. */
Как сказал Лекс, это точно так же, как phpMyAdmin отображает значения. Если вы видите «-1» или «1-» в этом раскрывающемся списке, это всего лишь 1.
Как я объяснил на ServerFault :
Это не отрицательное число, функция phpMYAdmin заключается в отображении значения внешнего ключа и настраиваемого поля описания рядом с ним. В указанной таблице (Округа) вы можете перейти в «Просмотр отношений», а под таблицей есть поле выбора «Выбрать поле для отображения», в котором вы выбираете значение, которое будет отображаться рядом со значением CountyID в справочной таблице (Бароны ). См. Также: phpymadminWiki