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

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


InnoDB টেবিল ফরেন কি কনস্ট্রেইন্ট চেকিং সাপোর্ট করে। দুটি টেবিল জয়েন করার জন্য ফরেন কি কনস্ট্রেইন্ট আবশ্যিক নয়। InnoDB ছাড়া অন্যান্য স্টোরেজ ইঞ্জিনের জন্য কলাম ডিফাইন করার সময় এটি ব্যবহার করা যায়। REFERENCES tableName(colName)-এর কোনো রিয়েল ইফেক্ট নেই, এটি ব্যবহারকারীকে একটি কমেন্ট হিসেবে কাজ করে যে বর্তমান কলাম অন্য টেবিলের কলামকে রেফার করতে ইচ্ছুক।

MySQL কোনো চেক করে না যে colName আসলে tableName-এ আছে কিনা বা tableName নিজে আসলে আছে কিনা।

প্যারেন্ট টেবিলে ফরেন কি প্রাইমারি কি হিসেবে কাজ করে। উদাহরণ হিসেবে একটি টেবিল তৈরি করা হলো।

চাইল্ড টেবিল তৈরি

mysql> create table StudentEnrollment
-> (
    -> StudentId int,
    -> StudentName varchar(200),
    -> StudentFKPK int
-> );
Query OK, 0 rows affected (0.91 sec)

প্যারেন্ট টেবিল তৈরি

mysql> create table College
-> (
    -> StudentFKPK int,
    -> CourseId int,
    -> CourseName varchar(200),
    -> CollegeName varchar(200),
    -> primary key(StudentFKPK)
-> );
Query OK, 0 rows affected (0.46 sec)

প্যারেন্ট টেবিলে StudentFKPK কলাম প্রাইমারি কি। এখন ALTER কমান্ড দিয়ে ফরেন কি যোগ করব।

ফরেন কি যোগ করার সিনট্যাক্স

ALTER table yourChildTableName add constraint anyConstraintName foreign key(primary key column name for parent table) references College(primary key column name for parent table);
  1. RDBMS-এ ফরেন কী (Foreign Key) কী এবং কীভাবে কাজ করে

  2. Java-এ JDBC ResultSet ব্যবহার করে MySQL টেবিলের ডেটা দেখানো

  3. Sequelize ব্যবহার করে Node.js-এ MySQL টেবিল তৈরি করা

  4. SQL Server-এ ফরেন কি (Foreign Key)