Web-en

How to add a foreign key in phpMyAdmin

Adding a foreign key in phpMyAdmin is pretty simple, but the option might be difficult to find.

Open the table in which you want to add the foreign key. Go to the tab Structure, in which you will find a sub menu called Relation View. There, select to column which will hold the foreign key, and the table and column referenced by this key.

As the menus might be pretty difficult to find, refer to below screenshots.

It is also possible to add a foreign key with following SQL code :

ALTER TABLE `table1` ADD FOREIGN KEY (`FK_table2`REFERENCES `table2`(`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;

Creating a foreign key allow for several options, including making sure that a column only contains entries existing in another table, possibility to prevent deletion of entries in the other table, or to cascade the deletion to referenced tables.

But one of the most useful options, in the phpMyAdmin interface, is to get a dropdown list with entries of the other table, when inserting entries in a table containing foreign keys.

It is even possible to decide which value is displayed by default from a table, when this is one is referenced by a foreign key in another table, as per below example.

How to add a foreign key in phpMyAdmin : First table with a field for a foreign key referencing an identifier in another table
First table with a field for a foreign key referencing an identifier in another table
How to add a foreign key in phpMyAdmin : Second table to be referenced by a foreign key
Second table to be referenced by a foreign key
How to add a foreign key in phpMyAdmin : Inserting a foreign key in phpMyAdmin web interface
Inserting a foreign key in phpMyAdmin web interface
How to add a foreign key in phpMyAdmin : Foreign key successfully added in phpMyAdmin
Foreign key successfully added in phpMyAdmin
How to add a foreign key in phpMyAdmin : Foreign key displayed with table field during entry insertion
Foreign key displayed with table field during entry insertion
How to add a foreign key in phpMyAdmin : Selection of the field to display for foreign key references
Selection of the field to display for foreign key references