Languages
[Edit]
EN

MySQL - add FOREIGN KEY to existing table

0 points
Created by:
Dirask Community
6240

In this article, we would like to show you how to add FOREIGN KEY to the existing table in MySQL.

Quick solution:

ALTER TABLE
    `table_name`
ADD CONSTRAINT 
    `constraint_name` FOREIGN KEY (`column_name`)
    REFERENCES `reference_table`(`reference_column`);

Practical example

To show how to add FOREIGN KEY to the existing table, we will use the following tables

MySQL - example table used to add FOREIGN KEY
MySQL - example table used to add FOREIGN KEY
MySQL - example table used to add FOREIGN KEY
MySQL - example table used to add FOREIGN KEY

Note:

At the end of this article you can find database preparation SQL queries.

Example

In this example, we will add fk_group_id foreign key to the group_id column from users table which is a reference to the id column from groups table.

Query:

ALTER TABLE `users`
ADD CONSTRAINT `fk_group_id` FOREIGN KEY (`group_id`) REFERENCES `groups`(`id`);

Output:

Database preparation

create_tables.sql file:

CREATE TABLE `groups` (
	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	`group_name` VARCHAR(50) NOT NULL,
	PRIMARY KEY (`id`)
);

CREATE TABLE `users` (
	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	`username` VARCHAR(50) NOT NULL,
	`group_id` INT(10) UNSIGNED,
	PRIMARY KEY (`id`)
);

insert_data.sql file:

INSERT INTO `groups`
    (`group_name`)
VALUES
    ('group1'),
	 ('group2');

INSERT INTO `users`
    (`username`, `group_id`)
VALUES
    ('user1', 1),
    ('user2', 1),
    ('user3', 2),
	('user4', 2);

MySQL - Problems

MySQL - add FOREIGN KEY to existing table
Native Advertising
­čÜÇ
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

ÔŁĄ´ŞĆ­čĺ╗ ­čÖé

Join