How to rename column name foreign key constraint in MySql Query?

By Hardik Savani | May 4, 2016 | Category : MySql

This is more one post on mysql query, I don't remember exactly time but i had need to change name of foreign key constraint column field. We can rename field name easily if we didn't set foreign key constraint. But if you set foreign key constraint then you can't rename easily. I had rename directly from my phpmyadmin without mysql query but i found bellow error:

Query error:

#1025 - Error on rename of './learn/#sql-46c_246' to './learn/my_table' (errno: 150)

But i found the solution of mysql rename foreign key constraint using mysql query, First we have to drop the foreign key, then change the column, at last we need to again add the foreign key constraint back in column.

I give you also if you want to create and check what do then first create "my_table" using bellow mysql query and then fire bellow sql query for rename column.

Create Table:

CREATE TABLE my_table (

id int unsigned not null AUTO_INCREMENT key,

name VARCHAR(255) default null,

user_id int unsigned not null,

CONSTRAINT `my_table_user_id_fk`

FOREIGN KEY (user_id) REFERENCES users (id)




Rename Column:

ALTER TABLE `my_table`

DROP FOREIGN KEY `my_table_user_id_fk`,

CHANGE COLUMN user_id sender_id int unsigned not null,

ADD CONSTRAINT `my_table_sender_id_fk`

FOREIGN KEY (`sender_id`) REFERENCES `users` (`id`)



Try this it will help you sure.....

Hardik Savani
My name is Hardik Savani. I'm a full-stack developer, entrepreneur and owner of Aatman Infotech. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Javascript, JQuery, Laravel, Codeigniter, VueJS, AngularJS and Bootstrap from the early stage.
Follow Me: Github Twitter
***Do you want me hire for your Project Work? Then Contact US.