Ключові моменти в SQL

pic

ЯК ВИДАЛИТИ ПЕРШОЧЕРГОВИЙ КЛЮЧ

Якщо зовнішній ключ не визначено в створеній таблиці, ви можете легко видалити первинний ключ за допомогою наступної команди.

ALTER TABLE  DROP PRIMARY KEY;

КОЛИ ВЖЕ ВИЗНАЧЕНО ЗОВНІШНІЙ КЛЮЧ, ЯК ВИДАЛИТИ ПЕРШОЧЕРГОВИЙ КЛЮЧ

  1. Визначте обмеження зовнішнього ключа.

Виконайте наступні команди, щоб перевірити обмеження зовнішнього ключа. Шукайте будь-які обмеження зовнішнього ключа, які посилаються на первинний ключ.

SHOW CREATE TABLE ;

Зверніть увагу, що якщо ви не визначили обмеження ключів для зовнішніх ключів, сервер SQL автоматично призначив обмеження ключів для цих ключів.

  1. Видалити залежні обмеження зовнішнього ключа

Для кожного обмеження зовнішнього ключа, яке залежить від PRIMARY KEY, видаліть зовнішній ключ

ALTER TABLE  DROP FOREIGN KEY ;
--приклад  
mysql> show create table Doctor_visits_Patient;  
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+  
| Таблиця | Створення таблиці  




 |  
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+  
| Doctor_visits_Patient | CREATE TABLE `doctor_visits_patient` (  
 `PID` int NOT NULL,  
 `DNO` int NOT NULL,  
 PRIMARY KEY (`PID`,`DNO`),  
 KEY `DNO` (`DNO`),  
 CONSTRAINT `doctor_visits_patient_ibfk_1` FOREIGN KEY (`PID`) REFERENCES `patient` (`PID`),  
 CONSTRAINT `doctor_visits_patient_ibfk_2` FOREIGN KEY (`DNO`) REFERENCES `doctor` (`DNO`)  
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |  
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+  
1 рядок у наборі (0.00 сек)  

mysql> ALTER TABLE Doctor_visits_Patient DROP FOREIGN KEY doctor_visits_patient_ibfk_1;  
Запит виконано, 0 рядків змінено (0.03 сек)  
Записи: 0 Дублікати: 0 Попередження: 0  

mysql> ALTER TABLE Doctor_visits_Patient DROP FOREIGN KEY doctor_visits_patient_ibfk_2;  
Запит виконано, 0 рядків змінено (0.01 сек)  
Записи: 0 Дублікати: 0 Попередження: 0
  1. Видалити первинний ключ

Коли всі залежні обмеження зовнішнього ключа видалені, ви можете видалити первинний ключ:

ALTER TABLE Doctor_visits_Patient DROP PRIMARY KEY;

ЯК ДОДАТИ ПЕРШОЧЕРГОВІ КЛЮЧІ З ЗОВНІШНІМИ КЛЮЧАМИ

У цьому випадку нам потрібно спочатку визначити зовнішній ключ, а потім можемо визначити первинний ключ або складені ключі.

CREATE TABLE Doctor_visits_Patient (  
 PID INT,  
 DNO INT,  
 FOREIGN KEY (PID) REFERENCES Patient(PID),  
 FOREIGN KEY (DNO) REFERENCES Doctor(DNO),  
 PRIMARY KEY(PID,DNO)  
);

Як перевірити SECURE FILE PREV

SHOW VARIABLES LIKE 'secure_file_priv';




Перекладено з: [Keys Point in SQL](https://medium.com/@isurusandaruwan3840/key-point-in-sql-8079b61f479f)

Leave a Reply

Your email address will not be published. Required fields are marked *