Можно ли настроить 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":
Наконец, из представления "Отношение" для "customer_city", выбрав "city" в качестве столбца для отображения:
Теперь, когда я иду, чтобы вставить строку в "customer", я получаю значение поиска, представленное в поле "city":
Обратите внимание, что он появляется дважды, один раз отсортирован по идентификатору и один раз по городам; таким образом, я могу быстро вставить, если я знаю идентификатор и по указанному значению, если я не знаю.