Вопрос:
У меня две таблицы, первая называется BOOKSNAME, а вторая называется AUTHORNAME.
Я установил столбец идентификатора для таблицы BOOKSNAME в качестве первичного ключа (автоматическое увеличение BIGINT), тогда моя таблица AUTHORNAME имеет NAME и ADDRESS в качестве столбцов, но у меня нет ключа ID/Primary.
Я хочу установить связь между ними с помощью первичного ключа, если у кого-нибудь есть пример того, как это достигается, могли бы они поделиться им?
Лучший ответ:
Что вам нужно сделать, это добавить новый столбец в вашу таблицу AUTHORNAME с именем AuthorID или что-то подобное, вы можете выбрать “Primary” в выпадающем списке под индексом при добавлении нового столбца в свою таблицу, а также хотите отметить A_I (автоматическое увеличение).
Если вы не знаете, как добавить новый столбец, выполните следующие действия:
Сначала перейдите на свой phpmyadmin и выберите таблицу, в которую вам нужно добавить этот новый столбец/первичный ключ, и выберите вкладку структуры.
Здесь вы увидите текущие заголовки столбцов, которые уже есть в вашей таблице, поэтому отсюда вы хотите посмотреть в нижней части этого списка столбцов, где будут отображаться параметры добавления нового столбца в таблицу.
В идеале вы хотите добавить идентификатор в начале таблицы, так как это сделает его гораздо более структурированным и более легким для чтения.
Отсюда вы хотите ввести имя столбца, в вашем случае AuthorID, тип будет INT, и вы захотите сделать свой индекс как PRIMARY, а затем, наконец, вам нужно будет пометить поле увеличения A_I/Auto (This могут отображаться по-разному в зависимости от того, какую версию phpmyadmin вы используете).
Если вы хотите установить отношения между двумя таблицами, вы можете использовать что-то под названием JOINS, если вы выполняете простой поиск Google, вы можете найти множество руководств о том, как они выполняются.
Ответ №1
Также добавьте целочисленный первичный ключ в таблицу автора, затем вы можете author_id поле author_id в другую таблицу, которая является таким же author_id данных, что и первичный ключ таблицы авторов, и сохранить идентификатор автора в этом поле.
Кроме того, если вы используете движок Innodb вы можете добавить ограничение внешнего ключа, это очень полезно, более подробно см. Документацию: