เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เปลี่ยนพฤติกรรม referential integrity ของ key

จนถึงตอนนี้ คุณได้กำหนด foreign key constraint ไปแล้ว 3 รายการ:

  1. professors.university_id ไปยัง universities.id
  2. affiliations.organization_id ไปยัง organizations.id
  3. affiliations.professor_id ไปยัง professors.id

ปัจจุบัน foreign key เหล่านี้มีพฤติกรรมเป็น ON DELETE NO ACTION ในแบบฝึกหัดนี้ เราจะเปลี่ยนพฤติกรรมของคอลัมน์ที่อ้างอิง organizations จาก affiliations หากองค์กรถูกลบ ความสัมพันธ์ (affiliation) ทั้งหมดที่เชื่อมกับองค์กรนั้น (ไม่ว่าจะเป็นของอาจารย์คนใด) ควรถูกลบตามไปด้วย

การแก้ไข key constraint ไม่สามารถทำได้ด้วย ALTER COLUMN แต่ต้องใช้วิธี DROP key constraint นั้นทิ้ง แล้วจึง ADD อันใหม่ ที่มีพฤติกรรม ON DELETE แตกต่างออกไป

อย่างไรก็ตาม การลบ constraint จำเป็นต้องทราบชื่อของมันก่อน ข้อมูลนี้เก็บอยู่ใน information_schema

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

SQL เบื้องต้น: ฐานข้อมูลเชิงสัมพันธ์

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';
แก้ไขและรันโค้ด