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

MySQL টেবিলের একাধিক ফিল্ডে FOREIGN KEY কনস্ট্রেইন্ট যোগ করা

MySQL-এ একটি টেবিলে একাধিক ফিল্ডে FOREIGN KEY কনস্ট্রেইন্ট যোগ করা যায়। শর্ত: প্রতিটি ফরেন কি আলাদা প্যারেন্ট টেবিলকে রেফার করবে।

উদাহরণ

customer2 টেবিলে cust_unq_id PRIMARY KEY:

mysql> DESCRIBE customer2;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| cust_id     | int(11)     | YES  |     | NULL    |       |
| First_name  | varchar(20) | YES  |     | NULL    |       |
| Last_name   | varchar(20) | YES  |     | NULL    |       |
| City        | varchar(10) | YES  |     | NULL    |       |
| cust_unq_id | int(11)     | NO   | PRI | 0       |       |
+-------------+-------------+------+-----+---------+-------+

orders1 টেবিলে ইতিমধ্যে Cust_id এ ফরেন কি আছে (রেফারেন্স customer)।

দ্বিতীয় ফরেন কি যোগ (cust_unq_id রেফারেন্স customer2):

mysql> ALTER TABLE orders1 ADD FOREIGN KEY(cust_unq_id) REFERENCES Customer2(cust_unq_id);
Query OK, 0 rows affected (0.25 sec)

mysql> DESCRIBE orders1;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| order_id     | int(11)     | NO   | PRI | NULL    |       |
| Product_name | varchar(25) | YES  |     | NULL    |       |
| orderdate    | date        | YES  |     | NULL    |       |
| Cust_id      | int(11)     | YES  | MUL | NULL    |       |
| cust_unq_id  | int(11)     | YES  | MUL | NULL    |       |
+--------------+-------------+------+-----+---------+-------+

এখন orders1-এ দুটি ফরেন কি: Cust_id (রেফারেন্স customer) এবং cust_unq_id (রেফারেন্স customer2)।

  1. MySQL-এ NULL মান থাকা কলামে সাবটোটাল যোগ করা

  2. MySQL ডেটাবেসে ফরেন কী আইডেন্টিফাই করা

  3. MySQL-এ sp_help-এর সমতুল্য: ফিল্ড টাইপ ও ফরেন কী কনস্ট্রেইন্ট দেখানোর পদ্ধতি

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