Упражнения оператора MySQL Alter Table: добавление первичного ключа для комбинации столбцов location_id и country_id
MySQL Alter Table Заявление: Упражнение 9 с решением
Напишите оператор SQL, чтобы добавить первичный ключ для комбинации столбцов location_id и country_id.
Вот структура расположения столов.
mysql> ПОКАЗАТЬ КОЛОННЫ из локаций; + ---------------- + -------------- + ------ + ----- + ---- ----- + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ---------------- + -------------- + ------ + ----- + ---- ----- + ------- + | LOCATION_ID | десятичный (4,0) | ДА | | NULL | | | STREET_ADDRESS | Варчар (40) | ДА | | NULL | | | POSTAL_CODE | Варчар (12) | ДА | | NULL | | | ГОРОД | Варчар (30) | ДА | | NULL | | | STATE_PROVINCE | Варчар (25) | ДА | | NULL | | | COUNTRY_ID | varchar (2) | ДА | | NULL | | + ---------------- + -------------- + ------ + ----- + ---- ----- + ------- +
Код:
ALTER TABLE locations
ADD PRIMARY KEY(location_id,country_id);
Позвольте выполнить вышеупомянутый код в командной строке MySQL 5.6
Теперь рассмотрим структуру расположения столов после внесения изменений.
mysql> ПОКАЗАТЬ КОЛОННЫ из локаций; + ---------------- + -------------- + ------ + ----- + ---- ----- + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ---------------- + -------------- + ------ + ----- + ---- ----- + ------- + | LOCATION_ID | десятичный (4,0) | НЕТ | PRI | 0 | | | STREET_ADDRESS | Варчар (40) | ДА | | NULL | | | POSTAL_CODE | Варчар (12) | ДА | | NULL | | | ГОРОД | Варчар (30) | ДА | | NULL | | | STATE_PROVINCE | Варчар (25) | ДА | | NULL | | | COUNTRY_ID | varchar (2) | НЕТ | PRI | | | + ---------------- + -------------- + ------ + ----- + ---- ----- + ------- +
Вот индексный файл, который был создан с созданием первичного ключа.
+ ----------- + ------------ + ---------- + ------------- - + ------------- + ----------- + ------------- + -------- - + -------- + ------ + ------------ + --------- + | Таблица | Non_unique | Key_name | Seq_in_index | Имя столбца | Сопоставление | Кардинальность | Sub_part | Упаковано | Null | Index_type | Комментарий | + ----------- + ------------ + ---------- + ------------- - + ------------- + ----------- + ------------- + -------- - + -------- + ------ + ------------ + --------- + | места | 0 | ПЕРВИЧНЫЙ | 1 | LOCATION_ID | A | NULL | NULL | NULL | | BTREE | | | места | 0 | ПЕРВИЧНЫЙ | 2 | COUNTRY_ID | A | 0 | NULL | NULL | | BTREE | | + ----------- + ------------ + ---------- + ------------- - + ------------- + ----------- + ------------- + -------- - + -------- + ------ + ------------ + --------- +
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Написать оператор SQL для добавления первичного ключа для столбцов location_id в таблице местоположений.
Далее: напишите оператор SQL для удаления существующего первичного из местоположений таблицы в комбинации столбцов location_id и country_id.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования