FOX-One
Умник
[Урок] Создание связей phpMyAdmin
Если данный урок оказался для вас интересным или полезным, не пожалейте +
Если вы нашли какие-либо ошибки/неточности прошу вас меня простить
и написать о них.
Автор сего "бреда" я.
Спасибо за внимание!
Здравствуйте уважаемые гости и пользователи форума!
Заметил, что практически никто не использует связи данных в таблицах, возможно просто не умеют, в связи с этим решил написать урок по созданию связи "один к одному".
Заметил, что практически никто не использует связи данных в таблицах, возможно просто не умеют, в связи с этим решил написать урок по созданию связи "один к одному".
И так приступим.
Допустим у нас есть 2 таблицы: аккаунты и объекты аккаунтов. Поле "Name" (ник или имя пользователя/игрока) содержится в 2-х таблицах. При работе с такими таблицами потребуется необходимость написания отдельных запросов, Например при изменении имени пользователя/игрока, либо при удалении аккаунта, но можно поступить проще (по крайней мере я так считаю). Свяжем 2 таблицы по полю "Name", переходим к phpMyAdmin открываем таблицу аккаунтов, далее Операции, Параметры таблицы, Тип таблиц выбираем InnoDB.
Переходим к таблице объекты аккаунта и выполняем все выше перечисленные действия.
Далее возвращаемся к таблице аккаунты. Структура, находим поле "Name", ищем колонку Дополнительно, жмем Первичный.
Переходим к таблице объекты аккаунта и выполняем выше перечисленные действия.
Далее в таблице объекты аккаунта переходим на вкладку Структура идем в самый низ страницы и находим там Связи.
Переходим к таблице объекты аккаунта и выполняем все выше перечисленные действия.
Далее возвращаемся к таблице аккаунты. Структура, находим поле "Name", ищем колонку Дополнительно, жмем Первичный.
Переходим к таблице объекты аккаунта и выполняем выше перечисленные действия.
Далее в таблице объекты аккаунта переходим на вкладку Структура идем в самый низ страницы и находим там Связи.
Далее выполняем следующие действия.
- Выбираем нашу базу данных.
- Выбираем таблицу с объектами игрока (дочерняя таблица)
- Выбираем поле по которому будет осуществляться связь, в нашем случае это поле "Name"
- Выбираем таблицу с аккаунтами игроков (родительская таблица)
- Выбираем поле по которому будет осуществляться связь, в нашем случае это поле "Name"
- ON DELETE выбираем CASCADE для каскадного удаления данных дочерней таблицы
- ON UPDATE выбираем CASCADE для каскадного обновления данных дочерней таблицы
Идем в низ страницы и сохраняем изменения, если не возникло никаких ошибок связь создана успешно. Если возникли ошибки проверьте правильность выполнения предыдущих операций.
Для проверки создаем по одной записи с одинаковыми значениями полей "Name" в обоих таблицах, затем удаляем запись в родительской таблице (таблице с аккаунтами) и проверяем дочернюю таблицу, если запись исчезла значит все отлично связь работает.
Для проверки создаем по одной записи с одинаковыми значениями полей "Name" в обоих таблицах, затем удаляем запись в родительской таблице (таблице с аккаунтами) и проверяем дочернюю таблицу, если запись исчезла значит все отлично связь работает.
Если данный урок оказался для вас интересным или полезным, не пожалейте +
Если вы нашли какие-либо ошибки/неточности прошу вас меня простить
Автор сего "бреда" я.
Спасибо за внимание!
Последнее редактирование:
