кодесурса
«MySQL

Упражнения оператора MySQL Alter Table: удаление существующего внешнего ключа fk_job_id из таблицы job_history в столбце job_id, который ссылается на job_id таблицы заданий

script1adsense2code
script1adsense3code

MySQL Alter Table Statement: Упражнение 13 с решением

Напишите оператор SQL для удаления существующего внешнего ключа fk_job_id из таблицы job_history в столбце job_id, который ссылается на job_id таблицы заданий.

Вот структура таблицы job_history.

 mysql> ПОКАЗАТЬ КОЛОННЫ ИЗ job_history;
+ --------------- + --------- + ------ + ----- + --------- + ------- +
| Поле | Тип | Null | Ключ | По умолчанию | Extra |
+ --------------- + --------- + ------ + ----- + --------- + ------- +
| EMPLOYEE_ID | int (11) | НЕТ | | NULL | |
| START_DATE | дата | ДА | | NULL | |
| HIRE_DATE | дата | ДА | | NULL | |
| JOB_ID | int (11) | НЕТ | MUL | NULL | |
| DEPARTMENT_ID | int (11) | НЕТ | | NULL | |
+ --------------- + --------- + ------ + ----- + --------- + ------- +

Код:

ALTER TABLE job_history
DROP FOREIGN KEY fk_job_id;

Позвольте выполнить вышеупомянутый код в командной строке MySQL 5.6

Теперь посмотрите структуру таблицы job_history после изменения.

 mysql> ПОКАЗАТЬ КОЛОННЫ ИЗ job_history;
+ --------------- + --------- + ------ + ----- + --------- + ------- +
| Поле | Тип | Null | Ключ | По умолчанию | Extra |
+ --------------- + --------- + ------ + ----- + --------- + ------- +
| EMPLOYEE_ID | int (11) | НЕТ | | NULL | |
| START_DATE | дата | ДА | | NULL | |
| HIRE_DATE | дата | ДА | | NULL | |
| JOB_ID | int (11) | НЕТ | MUL | NULL | |
| DEPARTMENT_ID | int (11) | НЕТ | | NULL | |
+ --------------- + --------- + ------ + ----- + --------- + ------- +

Теперь посмотрите файл индекса.

 + ------------- + ------------ + ----------- + ---------- ---- + ------------- + ----------- + ------------- + ----- ----- + -------- + ------ + ------------ + --------- +
| Таблица | Non_unique | Key_name | Seq_in_index | Имя столбца | Сопоставление | Кардинальность | Sub_part | Упаковано | Null | Index_type | Комментарий |
+ ------------- + ------------ + ----------- + ---------- ---- + ------------- + ----------- + ------------- + ----- ----- + -------- + ------ + ------------ + --------- +
| JOB_HISTORY | 1 | fk_job_id | 1 | JOB_ID | A | 1 | NULL | NULL | | BTREE | |
+ ------------- + ------------ + ----------- + ---------- ---- + ------------- + ----------- + ------------- + ----- ----- + -------- + ------ + ------------ + --------- +

Здесь выше, файл индекса внешнего ключа появляется, хотя внешний ключ был удален, но действие ограничения внешнего ключа потеряно.

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите оператор SQL для добавления ограничения внешнего ключа с именем fk_job_id в столбец job_id таблицы job_history, ссылающейся на первичный ключ job_id таблицы jobs.
Далее: напишите оператор SQL для добавления индекса с именем indx_job_id в столбец job_id в таблице job_history.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code