মাইএসকিউএল-এ বিদেশী কীগুলি কীভাবে ব্যবহার করা যায় তা আমাদের বুঝতে দিন −
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)
মূল সারণীতে, কলাম ‘স্টুডেন্টএফকেপিকে’ একটি প্রাথমিক কী। আমরা একটি বিদেশী কী যোগ করতে 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);