Mysql Error 1025 Errno 150
here for a quick overview of the site Help Center Detailed answers to any questions you might error 1025 (hy000) error on rename of (errno 150) have Meta Discuss the workings and policies of this site About
Error 1025 (hy000) Error On Rename Of (errno 152)
Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads error 1025 outlook mac with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 6.2 million programmers, how to drop foreign key in mysql just like you, helping each other. Join them; it only takes a minute: Sign up #1025 - Error on rename of './database/#sql-2e0f_1254ba7' to './database/table' (errno: 150) up vote 59 down vote favorite 13 So I am trying to add a primary key to one of the tables in my database. Right now it has aMysql Rename Foreign Key
primary key like this: PRIMARY KEY (user_id, round_number) Where user_id is a foreign key. I am trying to change it to this: PRIMARY KEY (user_id, round_number, created_at) I am doing this in phpmyadmin by clicking on the primary key icon in the table structure view. This is the error I get: #1025 - Error on rename of './database/#sql-2e0f_1254ba7' to './database/table' (errno: 150) It is a MySQL database with InnoDB table engine. mysql sql phpmyadmin innodb mysql-error-1025 share|improve this question edited Apr 30 '11 at 17:29 OMG Ponies 199k37360417 asked Nov 2 '10 at 17:55 Richard Knop 23.6k95284462 1 A quick search using Google gives me the idea that this problem is related to constraints. Possible helpful links: dev.mysql.com/doc/refman/5.0/en/innodb-error-codes.html and simplicidade.org/notes/archives/2008/03/mysql_errno_150.html –Lekensteyn Nov 2 '10 at 18:01 add a comment| 6 Answers 6 active oldest votes up vote 104 down vote accepted There is probably another table with a foreign key referencing the primary key you are trying to change. To find out which tablehere for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn error code 1025 outlook mac more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags alembic drop foreign key Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 6.2 million programmers, just like you,
General Error: 1025 Error On Rename Of Laravel
helping each other. Join them; it only takes a minute: Sign up What does mysql error 1025 (HY000): Error on rename of './foo' (errorno: 150) mean? up vote 123 down vote favorite 47 I tried this in mysql: http://stackoverflow.com/questions/4080611/1025-error-on-rename-of-database-sql-2e0f-1254ba7-to-database-table mysql> alter table region drop column country_id; And got this: ERROR 1025 (HY000): Error on rename of './product/#sql-14ae_81' to './product/region' (errno: 150) Any ideas? Foreign key stuff? mysql mysql-error-1025 share|improve this question edited Dec 5 '09 at 7:00 OMG Ponies 199k37360417 asked Oct 1 '08 at 23:33 Trenton 3,56063238 @skiphoppy - Are you trying to give a bounty to an already-given-answer? Is that even allowed? Or is your case different, in which case you http://stackoverflow.com/questions/160233/what-does-mysql-error-1025-hy000-error-on-rename-of-foo-errorno-150-me should start another thread? –Rick James Jan 9 at 6:35 @RickJames Yes it is. However, skiphoppy should add her comment under the answer she elected, as the bouty message will disappear when the bounty is over. –RandomSeed Jan 11 at 15:25 add a comment| 10 Answers 10 active oldest votes up vote 181 down vote accepted You usually get this error if your tables use the InnoDB engine. In that case you would have to drop the foreign key, and then do the alter table and drop the column. But the tricky part is that you can't drop the foreign key using the column name, but instead you would have to find the name used to index it. To find that, issue the following select: SHOW CREATE TABLE region; This should show you the name of the index, something like this: CONSTRAINT region_ibfk_1 FOREIGN KEY (country_id) REFERENCES country (id) ON DELETE NO ACTION ON UPDATE NO ACTION Now simply issue an: alter table region drop foreign key region_ibfk_1; And finally an: alter table region drop column country_id; And you are good to go! share|improve this answer answered Apr 11 '11 at 0:45 Jeshurun 13.3k45069 7 If I could upvote this twice I would. Cheers! Great walk through. –Rudiger Mar 1 '12 at 3:19 9 This should be the correct answer.Thanks! –PinoyStackOverflower Jul 17log in tour help Tour Start here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us http://dba.stackexchange.com/questions/86853/1025-error-on-rename-of-table-errno-150-table-was-deleted-while-tried-to-a Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Database Administrators Questions Tags Users Badges Unanswered Ask Question _ Database Administrators Stack Exchange is a http://www.dbforums.com/showthread.php?925650-Error-while-trying-to-alter-table-(errno-150) question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute: Sign up Here's how it error 1025 works: Anybody can ask a question Anybody can answer The best answers are voted up and rise to the top #1025 - Error on rename of table errno: 150 : Table was deleted while tried to assign foreign key up vote 1 down vote favorite When I tried to assign foreign key to a table named mydb.table1 it was deleted from my database, I could not understand the error on rename reason and tried to move on. For this tried to create same table with create SQL but it says #1005 - Can't create table 'mydb.table1' (errno: 150) Now I created same schema table with table name table2, this was successfully created but as my application code is written for table1, I need to rename this table to table1 again on which gives me following error. #1025 - Error on rename of table errno: 150 Also tried to run alter table query with set foreign_key_checks = 0. But same error. While searching I came accross below SQL, SHOW INNODB ENGINE STATUS; Which displays following message 141223 11:30:10 Error in foreign key constraint of table myahd/table1: there is no index in the table which would contain the columns as the first columns, or the data types in the table do not match the ones in the referenced table or one of the ON ... SET NULL columns is declared NOT NULL. Constraint:, CONSTRAINT "fk_key9" FOREIGN KEY ("updated_by") REFERENCES "users" ("userid") ON DELETE NO ACTION ON UPDATE NO ACTION While there is no such table listed in my database with name table1. Nor any such key is found with fk_key9. May be I can del
visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. Results 1 to 7 of 7 Thread: Error while trying to alter table (errno: 150) Tweet Thread Tools Show Printable Version Subscribe to this Thread… Search Thread Advanced Search Display Linear Mode Switch to Hybrid Mode Switch to Threaded Mode 09-25-03,22:49 #1 Ronit View Profile View Forum Posts Registered User Join Date Sep 2003 Posts 2 Unanswered: Error while trying to alter table (errno: 150) Hi I am Trying to change column name in a table with no success :-( This is how I created the table : mysql> CREATE TABLE `Banks` ( -> `BankID` tinyint(2) unsigned zerofill NOT NULL default '00', -> `BankName` varchar(50) NOT NULL default '', -> `OpenDate` date NOT NULL default '0000-00-00', -> `CloseDate` date default NULL, -> `Datechanged` timestamp(14) NOT NULL, -> `UserChanged` varchar(8) default NULL, -> PRIMARY KEY (`BankID`,`OpenDate`,`Datechanged`) -> ) TYPE=InnoDB -> ; Query OK, 0 rows affected (0.01 sec) Now I want to change the column BankID to CustomerId so I do the folowing , as BankID is part of the primary key I am tring to drop the key first before I change column name: mysql> alter table Banks drop primary key ; ERROR 1025: Error on rename of './bp/#sql-efc_1' to './bp/Banks' (errno: 150) I have tried a different approach , drop the Banks Table and create a new one: mysql> drop table Banks ; Query OK, 0 rows affected (0.01 sec) mysql> CREATE TABLE `Banks` ( -> `CustomerId` tinyint(2) unsigned zerofill NOT NULL default '00', -> `BankName` varchar(50) NOT NULL default '', -> `OpenDate` date NOT NULL default '0000-00-00', -> `CloseDate` date default NULL, -> `Datechanged` timestamp(14) NOT NULL, -> `UserChanged` varchar(8) default NULL, -> PRIMARY KEY (`CustomerId`,`OpenDate`,`Datechanged`) -> ) TYPE=InnoDB ; ERROR 1005: Can't create table './bp/Banks.frm' (errno: 150) Any Idea Why ??? I have restarted the server , there is enought space in /tmp which is define in my.cnf file for the tmp files (tmpdir=/tmp) I have also tried starting MySql with mysqld_safe