Можно ли настроить phpMyAdmin "внутренние отношения" для поиска в одном столбце и вставки значений из другого?

У меня есть база данных MySQL с двумя таблицами InnoDB, которые я администрирую с помощью phpMyAdmin v4.5.2. Таблица имеет ограничение внешнего ключа для столбца "id".

Когда я определяю "внутреннее отношение" и затем перехожу на страницу "Вставка" для таблицы, я вижу новую иконку рядом с моим столбцом с определенным внутренним отношением. Это хорошо, но когда я нажимаю значок, я могу только искать значения идентификаторов...

Было бы неплохо, если бы я мог выполнить поиск по внутреннему отношению с помощью столбца "name" (то есть поля SYMBOL varchar), но при выборе элемента он заполнил бы идентификатор из этой строки (столбец SYMBOL_LIST_ID) в поле вставки. Я искал, но не смог найти пример того, как это сделать - кто-нибудь настраивал этот тип внутренней связи? Спасибо!

Вот пример структуры моей таблицы: http://sqlfiddle.com/

1 ответ

Решение

Я не могу просмотреть ваш SQL Fiddle, но похоже, что вы просто хотите, чтобы значение поиска отображалось в таблице вместо идентификатора ключа.

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

Существует два способа настройки отношений: представление "Связь" (доступно на вкладке "Структура" таблицы) или "Дизайнер" (в основном списке вкладок при просмотре базы данных). Похоже, вы уже используете Relation View и правильно определили свои внешние ключи там, поэтому в таблице, где вы выполняете поиск, перейдите в Relation View и прокрутите вниз до "Выбрать столбец для отображения", затем выберите столбец Вы хотите посмотреть вверх.

В моем случае я построил таблицу "покупатель":

id int primary key
name varchar(255)
city_ref int index

и "customer_city":

id int primary key
city varchar(255)

Затем я настроил свой внешний ключ из представления Relation в "customer":

Просмотр отношений InnoDB

Наконец, из представления "Отношение" для "customer_city", выбрав "city" в качестве столбца для отображения:

столбец для отображения

Теперь, когда я иду, чтобы вставить строку в "customer", я получаю значение поиска, представленное в поле "city":

Уважать

Обратите внимание, что он появляется дважды, один раз отсортирован по идентификатору и один раз по городам; таким образом, я могу быстро вставить, если я знаю идентификатор и по указанному значению, если я не знаю.

Другие вопросы по тегам