кодесурса
«MySQL

Упражнения оператора MySQL Alter Table: добавление первичного ключа для комбинации столбцов location_id и country_id

script1adsense2code
script1adsense3code

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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code