কম্পিউটার টিউটোরিয়াল

MySQL-এ ফরেন কি (Foreign Key) তৈরি করার সিনট্যাক্স

ফরেন কি তৈরি করার সিনট্যাক্স:

সিনট্যাক্স

ALTER TABLE yourSecondTableName 
ADD CONSTRAINT yourConstraintName 
FOREIGN KEY(yourForeignKeyColumnName) 
REFERENCES yourFirstTableName(yourPrimaryKeyColumnName);

উদাহরণ দিয়ে বুঝি

১. পেরেন্ট টেবিল (Department_Table)

mysql> CREATE TABLE Department_Table (
    -> Department_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Department_Name VARCHAR(30)
    -> );
Query OK, 0 rows affected (0.83 sec)

২. চাইল্ড টেবিল (Employee_Table) - ফরেন কি ছাড়া

mysql> CREATE TABLE Employee_Table (
    -> EmployeeID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> EmployeeName VARCHAR(80),
    -> Job VARCHAR(30),
    -> Department_Id INT NOT NULL REFERENCES department(departmentID)
    -> );
Query OK, 0 rows affected (1.12 sec)

নোট: উপরের REFERENCES department(departmentID) শুধু কমেন্টের মতো কাজ করে, আসলে ফরেন কি তৈরি হয় না।

৩. সঠিক পদ্ধতিতে ফরেন কি যোগ করুন

mysql> ALTER TABLE Employee_Table 
    -> ADD CONSTRAINT fk_Department_Id 
    -> FOREIGN KEY(Department_Id) 
    -> REFERENCES Department_Table(Department_Id);
Query OK, 0 rows affected (2.82 sec)
Records: 0  Duplicates: 0  Warnings: 0

গুরুত্বপূর্ণ পয়েন্টস

  • ফরেন কি কলাম এবং রেফারেন্স কলামের ডেটা টাইপ একই হতে হবে
  • পেরেন্ট টেবিলের কলাম PRIMARY KEY বা UNIQUE INDEX হতে হবে
  • InnoDB স্টোরেজ ইঞ্জিন ফরেন কি সাপোর্ট করে (MyISAM নয়)
  • ON DELETE CASCADE, ON UPDATE CASCADE অপশন যোগ করা যায়
  1. MySQL에서 VIEW(뷰) 생성하고 조회하기

  2. MySQL-এ প্রাইমারি কী রিসেট করা (TRUNCATE + ALTER TABLE)

  3. MySQL-এ প্রাইমারি কীকে অন্য টেবিলে ফরেন কী হিসেবে রেফার করা

  4. MySQL-এ ফরেন কি ব্যবহার (Using Foreign Keys in MySQL)