Создать связь с базой данных MySQL Workbench - PullRequest
3 голосов
/ 09 февраля 2010

Я пытаюсь создать внешний ключ между таблицами, используя MySQL Workbench. Но я не знаю, почему я не могу поставить галочку, чтобы выбрать поле для сопоставления с другим полем в другой таблице. Может быть, требуется, чтобы оба поля имели одинаковый тип (и другие условия ??) Можете ли вы рассказать мне критерии для создания отношений с использованием внешнего ключа и как это сделать в MySQL Workbench?

Ответы [ 5 ]

7 голосов
/ 24 декабря 2011

У меня тоже была эта проблема. Причина, по которой я не смог создать отношения, заключалась в том, что, как вы говорите, типы были не совсем одинаковыми. У меня был первичный ключ без знака int и внешний ключ со знаком int, поэтому программное обеспечение не позволяло мне создавать отношения. Было бы неплохо, если бы программа выдавала предупреждение или какую-то обратную связь с пользователем, подчеркивая, что она не ставит флажок в этом поле.

2 голосов
/ 09 февраля 2010

Я не пользователь MySQL Workbench, но убедитесь, что вы используете механизм хранения, который в первую очередь поддерживает внешние ключи. (например, InnoDB)

См. Документацию MySQL для требований, необходимых для связи с внешним ключом .

1 голос
/ 30 декабря 2011

У меня была такая же проблема. Найден обходной путь:

После того, как вы ввели имя ограничения внешнего ключа и выбрали ссылочную таблицу, нажмите « next » без выбора имен столбцов.

На этом шаге вы увидите скрипт создания sql нового ограничения. Отредактируйте его вручную: введите имя столбца, на который указывает ссылка, и имя столбца fk. Затем нажмите Готово. Сценарий будет выполнен. Для повторной проверки попробуйте снова открыть окно изменения таблицы, и вы увидите, что флажок столбца теперь отмечен на вкладке внешнего ключа.

0 голосов
/ 25 декабря 2011

У меня такая же проблема с MySql Workbench. У меня есть один символ (5) (в таблице 1) в качестве моего первичного ключа и другой символ (5) (в таблице 2) в качестве внешнего ключа. Но MySql Workbench не позволит мне создать отношения. Я использую INNODB.

0 голосов
/ 17 июня 2011

Когда вы редактируете таблицу в редакторе диаграмм EER, появляется вкладка «Внешние ключи». Вы можете установить внешние ключи между таблицами там. (Верстак 5.2.36)

...