+ All Categories
Home > Documents > MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Date post: 01-Apr-2015
Category:
Upload: sri4985
View: 327 times
Download: 0 times
Share this document with a friend
Description:
this will expain the MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32
41
Custom Software Development About Privacy Policy Products Archived Projects Flex FlipCard HungryFEED Log File Suite Phreeze Support Contact RSS 22 Oct MySQL Error Number 1005 Can’t create table ‘.\mydb\#sql-328_45.frm’ (errno: 150) If you get this error while trying to create a foreign key, it can be pretty frustrating. The error about not being able to create a .frm file seems like it would be some kind of OS file permission error or something but this is not the case. This error has been reported as a bug on the MySQL developer list for ages, but it is actually just a misleading error message. In every case this is due to something about the relationship that MySQL doesn’t like. Unfortunately it doesn’t specify what the exact issue is. Here is a running list of causes that people have reported for the dreaded errno 150. I’ve tried to put them in order based on the frequency that I hear about a particular cause. You may want to start by running the MySQL command “SHOW INNODB STATUS” immediately after receiving the error. This command displays log info and error details. (Thanks Jonathan for the tip) Note: If your script runs fine on one server, but gives an error when you try to run it on a different server, then there is a good chance that #6 is the problem. Different versions of MySQL have different default charset setting. Known Causes: The two key fields type and/or size doesn’t match exactly. For example, if one is INT(10) the key field needs to be INT(10) as well and not INT(11) or TINYINT. You may want to confirm the field size using SHOW CREATE TABLE because Query Browser will sometimes visually show just INTEGER for both INT(10) and INT(11). You should also check that one is not SIGNED and the other is UNSIGNED. They both need to be exactly the same. ( More about signed vs unsigned here). 1. One of the key field that you are trying to reference does not have an index and/or is not a primary key. If one of the fields in the relationship is not a primary key, you must create an index for that 2. MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat... 1 of 41 1/28/2011 7:07 PM
Transcript
Page 1: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Custom Software Development

AboutPrivacy Policy

ProductsArchived ProjectsFlex FlipCardHungryFEEDLog File SuitePhreeze

SupportContact

RSS

22 Oct

MySQL Error Number 1005Can’t create table ‘.\mydb\#sql-328_45.frm’ (errno: 150)

If you get this error while trying to create a foreign key, it can be pretty frustrating. The error about notbeing able to create a .frm file seems like it would be some kind of OS file permission error or somethingbut this is not the case. This error has been reported as a bug on the MySQL developer list for ages, but itis actually just a misleading error message.

In every case this is due to something about the relationship that MySQL doesn’t like. Unfortunately itdoesn’t specify what the exact issue is. Here is a running list of causes that people have reported for thedreaded errno 150. I’ve tried to put them in order based on the frequency that I hear about a particularcause.

You may want to start by running the MySQL command “SHOW INNODB STATUS” immediately afterreceiving the error. This command displays log info and error details. (Thanks Jonathan for the tip)

Note: If your script runs fine on one server, but gives an error when you try to run it on a differentserver, then there is a good chance that #6 is the problem. Different versions of MySQL have differentdefault charset setting.

Known Causes:

The two key fields type and/or size doesn’t match exactly. For example, if one is INT(10) the keyfield needs to be INT(10) as well and not INT(11) or TINYINT. You may want to confirm the fieldsize using SHOW CREATE TABLE because Query Browser will sometimes visually show justINTEGER for both INT(10) and INT(11). You should also check that one is not SIGNED and theother is UNSIGNED. They both need to be exactly the same. (More about signed vs unsigned here).

1.

One of the key field that you are trying to reference does not have an index and/or is not a primarykey. If one of the fields in the relationship is not a primary key, you must create an index for that

2.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

1 of 41 1/28/2011 7:07 PM

Page 2: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

field. (thanks to Venkatesh and Erichero and Terminally Incoherent for this tip)The foreign key name is a duplicate of an already existing key. Check that the name of your foreignkey is unique within your database. Just add a few random characters to the end of your key nameto test for this. (Thanks to Niels for this tip)

3.

One or both of your tables is a MyISAM table. In order to use foreign keys, the tables must both beInnoDB. (Actually, if both tables are MyISAM then you won’t get an error message – it just won’tcreate the key.) In Query Browser, you can specify the table type.

4.

You have specified a cascade ON DELETE SET NULL, but the relevant key field is set to NOTNULL. You can fix this by either changing your cascade or setting the field to allow NULL values.(Thanks to Sammy and J Jammin)

5.

Make sure that the Charset and Collate options are the same both at the table level as well asindividual field level for the key columns. (Thanks to FRR for this tip)

6.

You have a default value (ie default=0) on your foreign key column (Thanks to Omar for the tip)7.One of the fields in the relationship is part of a combination (composite) key and does not have it’sown individual index. Even though the field has an index as part of the composite key, you mustcreate a separate index for only that key field in order to use it in a constraint. (Thanks to Alex forthis tip)

8.

You have a syntax error in your ALTER statement or you have mistyped one of the field names inthe relationship (Thanks to Christian & Mateo for the tip)

9.

The name of your foreign key exceeds the max length of 64 chars. (Thanks to Nyleta for the tip)10.

The MySQL documentation includes a page explaining requirements for foreign keys. Though they don’tspecifically indicate it, these are all potential causes of errno 150. If you still haven’t solved your problemyou may want to check there for deeper technical explainations.If you run into this error and find that it’scaused by something else, please leave a comment and I’ll add it to the list.

138 Comments

Posted in MySQL, SQL

Leave a Reply

Name (required)

Mail (will not be published) (required)

Website

Comment

Submit Comment

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

2 of 41 1/28/2011 7:07 PM

Page 3: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Stephane

November 8, 2006 at 2:26 pm

No no no no no and No!!! I’ve been looking closer and closer and closer again. I have 2 tables, thefirst one with 2 fields and the second one with only one. The PK I’m trying to build is for 2 UnsignedINT(10) fields. It just doesn’t work. I’m fed up of this MySQL-Administrator.

I’m not happy ((((((

Reply

1.

Jason

November 10, 2006 at 4:28 pm

Hey Stephane, I know this error sucks. MySQL doesn’t tell you what the problem is. But, somethingabout the fields are not matching or else there may be a conflicting key or something. I don’t knowI’ve never tried a table with only 1 column before – maybe MySQL doesn’t like that? If you find theanswer, post here and maybe it will help someone at some point.

Reply

2.

Niels

November 18, 2006 at 12:59 pm

Hi, I had this error also. My problem was that I was trying to create a foreign key with a name,which I had already given another foreign key.

I would try checking that the foreign key name is unique.

I am no MySQL expert, but it just a suggestion.

Reply

3.

4.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

3 of 41 1/28/2011 7:07 PM

Page 4: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Jason

November 19, 2006 at 9:29 pm

Thanks Niels – I updated the post to include that info as well. Hopefully will prevent one of us frompulling his/her hair out one day!

Reply

Stephane

December 13, 2006 at 9:21 am

Okay, I reinstalled mysql-server-5.1.6_2, mysql-administrator and mysql-query-browser. Nowmysql-administrator let me enter the FK and displays a message that the command completedsuccessfully. However, the FK never shows up, nor after I refreshed the schema, shutdown the box,etc. It’s not there at all… I tried it on a W2K box and everything goes smooth. I had this setupworking on a FreeBSD 5.4 in the past, I don’t know what’s buggy with 6.1. I’ll try to update all myports and reinstall the damn thing again. Mmmmm…Ubuntu? Maybe

Reply

5.

Jason

December 13, 2006 at 1:52 pm

Hey Stephane, it sounds to me like you may be trying to create foreign keys on a “MyISAM” table?If you need to use foreign keys, you have to use “InnoDB” tables. You can change the table typewith the MySQL Query Browser utility.

Reply

6.

Stephane

December 18, 2006 at 6:49 am

Jason,

I am using InnoDB as well. I solved my problem: I returned to the command line on the FreeBSD6.1 box. I don’t know what’s going on since I installed FreeBSD 6.1 but MySql-Administrator goesnuts. And just to be sure it wasn’t something weird with my setup, I set up another FreBSD 6.1 boxwith the same stuff and still, no luck, same problems. The reason why I’m sure there’s a problemwith this mix (FreeBSD 6.1, mysql-server 5.1.6_2 and mysql-administrator 1.1.6) is because

7.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

4 of 41 1/28/2011 7:07 PM

Page 5: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

everything works fine with mysql-administrator from a remote machine. I’ve been successfullydoing my foreign keys remotely from a Win32 box as well as from a Fedora box.

I’ll dig that out eventually. Thanks to all for your input.

BTW, I also tried Ubuntu as a curiosity but naaahh… Too bulky

Reply

Stephane

December 18, 2006 at 2:14 pm

Guys, I’d like to insert some revealing snapshots here. I’ll setup a blog and provide you with a linkfor it. MySql-Administrator 1.1.6 and FreeBSD 6.1 do not cooperate well.

Reply

8.

Paul

December 19, 2006 at 1:07 am

Thanks for the tip.I was getting fustrated anf finally just did a search for MySQL Error 1005 and came across yourblog. Had it fixed in a minute.

Reply

9.

Srinath

January 24, 2007 at 1:47 am

Very useful tip.. Was a bit frustrated and got help from this article!!

Reply

10.

FRR

11.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

5 of 41 1/28/2011 7:07 PM

Page 6: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

March 7, 2007 at 3:12 pm

Hi, I had the same problem but in my case the cause of the problem was that the “ColumCharset†and “Colum Collate†was different between the key fields. It’s interestingalthough the both tables have already configured the same “Charset†and “Collate†, thefields could have different values in these parameters.

Reply

Jason

March 24, 2007 at 1:50 pm

Thanks FRR – I’ll add that to the list as well. That one would definitely be difficult to troubleshoot

Reply

12.

Venkatesh Naicker

April 10, 2007 at 5:33 pm

Index missing on the column that is being tried to have foreign key. Creating index on that columnfixed it.

Reply

13.

andy

April 11, 2007 at 9:48 am

Hi folks,

I’ve just discover another interesting case. You can get also errno: 150 when you try to do thefollowing: create table A, create table B with the relation many to 1 (respectively) and then createtable C which is in relation one to many with table B and it is also in relation one to many with tableA. I though this relations should work fine but I figure out if I take one of them I can create all thetables A, B and C if you know what I mean

Reply

14.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

6 of 41 1/28/2011 7:07 PM

Page 7: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Erichero

April 19, 2007 at 2:21 am

You might want to mention for newbies like me, that your foreign key must point to a primary key. Iassumed that you could just point to anything.

Reply

15.

Jason

April 19, 2007 at 11:09 am

Thanks everyone for posting your causes – I’ll continue to update the article with your ideas.

Reply

16.

Christian

April 19, 2007 at 1:31 pm

Jesus, this is really a crap error message. It’s also thrown if you have the wrong syntax:

ALTER TABLE ADD CONSTRAINT fk_foo FOREIGN KEY (foo_id) references foo

throws this error. It should of course throw a syntax exception… This works:

ALTER TABLE ADD CONSTRAINT fk_foo FOREIGN KEY (foo_id) references foo (foo_id)

Reply

17.

sime

May 14, 2007 at 8:54 am

Bravo! In my case, problem was about MyISAM and INNODB table types.

Reply

18.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

7 of 41 1/28/2011 7:07 PM

Page 8: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Justin

May 18, 2007 at 12:05 pm

Thanks for this post. Was beating my head against the wall on this one until I found this.

In my case, it turned out to be a problem with the jack ass trying to create the table. I was a littleoverzealous in my copy/pasting writing the SQL to create the tables and forgot to change the nameof one of the columns. When I tried to create another table later with a foreign key that referencedthe correct name, it failed. Took me a little while to realize that the problem wasn’t with the tablethat was erroring out, but with the one I was referencing.

Oh, and I’m dumb. I’m sure that contributed.

Thanks again.

Reply

19.

Ezequiel from Buenos Aires

May 29, 2007 at 2:12 pm

My problem is that you have to create an INDEX on the table where you have the referencingcolumn. Example:

CREATE TABLE `gcom_dbo`.`PERFILES` (`IDPerfil` INTEGER NOT NULL AUTO_INCREMENT,`Nombre` VARCHAR(20) NULL,PRIMARY KEY (`IDPerfil`)

)ENGINE= INNODB;

CREATE TABLE `gcom_dbo`.`USUARIOS` (`IDUsuario` INTEGER NOT NULL AUTO_INCREMENT,`IDPerfil` INTEGER NOT NULL,`UserName` VARCHAR(50) NULL,`Password` VARCHAR(50) NULL,PRIMARY KEY (`IDUsuario`),INDEX (`IDPerfil`),CONSTRAINT `FK_USUARIOS_PERFILES` FOREIGN KEY `FK_USUARIOS_PERFILES`(`IDPerfil`)REFERENCES `gcom_dbo`.`perfiles` (`IDPerfil`)ON DELETE NO ACTIONON UPDATE NO ACTION)

20.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

8 of 41 1/28/2011 7:07 PM

Page 9: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

ENGINE= INNODB;

Made me lost like 3 hours to work it out. It’s strange that nobody else said this… we’re migratingfrom MSSQL Server 2000 to MySQL 4.0.20 (pretty old stuff, I still have to figure out what to dowith triggers!)

Good Luck!

Reply

Omar

May 31, 2007 at 3:36 am

Thanks for the tricks, but after hours of testing and re testing we found another issue : There shouldbe no ‘defaut 0′ close on the foreign key column in the child table.

Greetings,

Reply

21.

Sammy

July 5, 2007 at 6:43 am

Make sure when use of ON DELETE SET NULL with a foreign key, it is not setted to NOT NULL

Reply

22.

Terminally Incoherent

July 9, 2007 at 2:00 pm

[...] is not the case – it is just a silly, misleading message. I started googling for it and found somegood tips on how to avoid this error at VerySimple Dev Blog. I spent over two hours testing allpossible solutions listed in that post. [...]

Reply

23.

Richard Kennard

July 30, 2007 at 10:39 pm

24.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

9 of 41 1/28/2011 7:07 PM

Page 10: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

THANK YOU! As many others have commented above, this blog entry saved me a great deal oftime and hair pulling.

(my 150 was, for your statistics, caused by differing collations)

Reply

Vamsikrishna Nadella

August 2, 2007 at 11:11 am

This Article helped me a lot. I was really frustrated with the error and the InnoDB/MyISAMcombination was killing me. One of the tables was MyISAM. Thanks you very much for putting upthis article. It saved me a lot of time.

– Vamsi

Reply

25.

Correa Rodrigo

August 2, 2007 at 1:02 pm

I can’t alter tables, drop key, nothig. I can’t do nothing with my database. And always show thismessage:#1005 – Can’t create table ‘#sql-a2f_2e680′ (errno: 13)

Reply

26.

ILVC

August 3, 2007 at 10:01 am

Thank you for your blog! My problem was not on the list but at least this article gave me light tohunt what was happening. In my case the problem was simply that I had TWO primary keys in thereferenced table by accident! I simply dropped the other primary key and presto.

Reply

27.

28.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

10 of 41 1/28/2011 7:07 PM

Page 11: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Jonathan Kohler

August 3, 2007 at 3:44 pm

Sometimes when you get this error you can get more information by checking the InnoDB log with‘SHOW INNODB STATUS;’ It helped me pinpoint the problem.

Reply

freak

September 3, 2007 at 4:56 am

In my case datatypes of both tables were not same, one was int with unsigned and other was just int.I put the unsigned in the other one and it worked fine. Both tables should be innoDB

Reply

29.

Mateo

September 26, 2007 at 10:18 pm

If you think you’ve tried it all, check that you are trying to reference an EXISTING field. So,perhaps you have “id_table” instead of “idtable”. The “_” can be a baddie sometimes

Reply

30.

Sergio

October 23, 2007 at 7:20 pm

This post really helped me. My problem was that the referenced table was MyISAM. I changed toInnoDB and everything works nice now. Thank you Jason.

Reply

31.

Edd

32.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

11 of 41 1/28/2011 7:07 PM

Page 12: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

November 7, 2007 at 5:12 pm

My problem of migratina an MS Access db to MySQL was solved by rewriting the ALTER TABLEtable1 ADD FOREIGN KEY… statement. There was a syntax error, I guess, from the fact that thetwo FK were a composite PK in table1. Excellent blog, btw.

Reply

J Jammin

November 17, 2007 at 9:27 am

I had this problem, but it was the famous user error. I defined the foreign key column as ‘NOTNULL’ and then specified that on delete set NULL. Makes perfect sense that MYSQL refused tocreate the table.

Reply

33.

John

November 23, 2007 at 5:00 pm

Thanks – mine was #4

Reply

34.

crisu

December 3, 2007 at 6:47 pm

ammm…can i allso add that none of all that is here helped me (

Reply

35.

crisu

December 3, 2007 at 6:48 pm

36.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

12 of 41 1/28/2011 7:07 PM

Page 13: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

a good solution would be to use the plain old SQL

Reply

B

December 8, 2007 at 10:34 am

THANK YOU SO MUCH! This has been driving me crazy for the last couple days and I finally got itworking. I didn’t know every foreign key has to have a unique name withing the database. What apain in the ass!

Reply

37.

Simon

December 9, 2007 at 3:13 pm

Thanks, this was a big help.

Reply

38.

Gustavo

December 21, 2007 at 9:43 am

Thanks, you saved me a lot of time and headache. Mine was #1.

Reply

39.

George Calm

January 3, 2008 at 1:23 am

Thank you, Jason. I was struggling with this error for hours now. Excellent posting!

Reply

40.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

13 of 41 1/28/2011 7:07 PM

Page 14: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Alex Grim

January 6, 2008 at 2:16 am

Great post. I happened across this while researching this error. One thing that you mentioned whatthat “one or the other must be indexed”.

But i wish to add that if one or the other (PK or FK) is part of a combined primary key/index, youwill STILL get this error, you MUST create a separate index for the field you wish to reference withyour FK.

Thanx

Reply

41.

Jason

January 9, 2008 at 11:30 pm

Thanks Alex. I didn’t know that was the case but I don’t use combo keys too often. I can see thatone stumping somebody so I added your tip to the article.

Reply

42.

Victoria

January 12, 2008 at 2:59 pm

Ty #3 !!

Reply

43.

Mat

January 14, 2008 at 2:59 pm

Also, UNSIGNED and ZEROFILL properties for the foreign key columns must match.

44.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

14 of 41 1/28/2011 7:07 PM

Page 15: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Reply

Jim

January 19, 2008 at 7:13 pm

Here is my SQL code: NO CLUE what is going on with this error…

CREATE TABLE PCP(PCPID MEDIUMINT NOT NULL,PCPName VARCHAR(75),PCPMD MEDIUMINT NOT NULL,PRIMARY KEY (PCPID),FOREIGN KEY (PCPMD) REFERENCES PCP);

Reply

45.

Dougie

February 4, 2008 at 11:39 am

I placed the primary key field when using the foreign and that work, just as Christian did furtherabove.Jim try this code:CREATE TABLE PCP(PCPID MEDIUMINT NOT NULL,PCPName VARCHAR(75),PCPMD MEDIUMINT NOT NULL,PRIMARY KEY (PCPID),FOREIGN KEY (PCPMD) REFERENCES PCP (PCPMD));

Hope this works as this did for me.

BTW i noticed in you code your pulling data using the (foreign key) from itself as the primary key isin the same table, have you tried pulling data from a primary key of another table.

ExampleFOREIGN KEY (PCPMD) REFERENCES PCP2 (PCPMD)

Reply

46.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

15 of 41 1/28/2011 7:07 PM

Page 16: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

shob

February 17, 2008 at 3:12 pm

Thanks a lot.. i was going nuts on this bizzare err.. this aricle saved a lot … mine was INNODB ==MYISAM … [:)]

Reply

47.

Dave Miller

February 27, 2008 at 10:10 am

Mine was number 5, thank you!!!

Reply

48.

Arturo

February 29, 2008 at 1:03 am

I had a problem where the primary key of the referenced table was not the first column on the tableand I couldn’t use it as a foreign key. Droping the table and having the primary key as the firstcolumn fixed the issue. Both tables were InnodbCheers,Arturo

Reply

49.

Ivan

March 26, 2008 at 6:33 pm

Thanks!Number 3 worked for me. Actually it is very obvious that foreign key name must be unique

Ivan

50.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

16 of 41 1/28/2011 7:07 PM

Page 17: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Reply

varma

March 29, 2008 at 1:24 am

i nead to know very soon.. is there any possible to use char 0r varchar to set auto_incriment

Reply

51.

Jason

March 29, 2008 at 2:44 pm

varma – i don’t think it is possible to use varchar as auto-increment. i’m not sure the reason to dothat unless it is to support some legacy schema?

Reply

52.

Matt and Cody

April 3, 2008 at 1:06 pm

Thank you so much. This helped us find the solution to our problem. You are the best

Reply

53.

Mamta

April 4, 2008 at 5:06 pm

Dear Jason,Thanks a lot.. your blog helped me to solve my problem. thanks again.

Reply

54.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

17 of 41 1/28/2011 7:07 PM

Page 18: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Andreas

April 8, 2008 at 7:12 am

Thank you verry much! Just didn’t know there has to be uniq foreign key names.

Reply

55.

Pete

April 24, 2008 at 3:39 pm

Thank you for this article. Just printed it out. It just saved the remaining hair I am left with!

Reply

56.

Vinod Pillai

May 7, 2008 at 2:42 am

It is true that MySQL is having such a problem. This is the solution.

1) First of all make sure both parent and child table should be InnoDB.

Now when you create the foreign key in child table it creates the key_Name by default now youhave to change that key_Name.

2) Now make sure that Foreign Column name should exactly match with the field name of theparent table.

That’s all I hope this will solve the problem.

Reply

57.

Dele Agagu

May 9, 2008 at 8:49 am

58.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

18 of 41 1/28/2011 7:07 PM

Page 19: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Whao!! couldnt help but post.i tried all sorts but nothing worked until i search for the error andwhola!! your blog blew my mind!! thanks for this

Reply

Dele Agagu

May 9, 2008 at 12:03 pm

Discovered another reason for this error:

Make sure that if your referenced table has the primary key column as UNSIGNED, then thereferencing table needs to have the referencing column as UNSIGNED too.

Reply

59.

Shift Instinct » Blog Archive » MySQL Error Number 1005 Can’t create table ‘.mydb#sql-328_45.frm’ (errno: 150)

May 9, 2008 at 12:12 pm

[...] VerySimpleDevBlog [...]

Reply

60.

Tor Andre

May 15, 2008 at 4:24 pm

Very nice article.

I was using ActiveRecord/NHibernate to keep my db up to date. Since this was before release 1.0 Ihad ActiveRecord to automatically update my database (using ‘hibernate.hbm2ddl.auto’). Thisresults in dropping every table and generate them again every time I rebuild my project.I got stuck with this error, and there was one table I was unable to create. I tried everything,manually without foreign keys as well.What solved it was to create the table WITH a foreign key but not naming it. Once doing that, Iedited the table in Query Browser and found two (2) foreign keys with same reference. It seemed asthe table was dropped as it should be, but the previous foreign key was stuck somewhere (couldn’tfind it in the system tables either).I dropped both the foreign keys and the table, then clean build the project (resulting in drop andcreate statements for all tables), and it WORKED!

Happy debugging!

Reply

61.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

19 of 41 1/28/2011 7:07 PM

Page 20: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Rahul Master

May 18, 2008 at 1:09 am

Thanks, the 4th cause worked for me

Reply

62.

Aswin Anand

May 31, 2008 at 8:54 pm

If the table for which the foreign key has to be applied contains data, this could happen. I took abackup of the existing data, truncated the table, ran the alter table query again. This time it went onsmoothly.

Reply

63.

Find an Appraiser

June 12, 2008 at 6:12 pm

I checked everything in this list and still got the error. Then I just dropped and recreated thedatabase, ran new create script with only difference being my new table having PK varchar(255)instead of int(3), and it all worked fine. Strange, but there you have it.

Reply

64.

Amin Abbasopour

June 15, 2008 at 7:37 am

You’re great!

Reply

65.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

20 of 41 1/28/2011 7:07 PM

Page 21: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Spenner

July 2, 2008 at 10:20 am

Just a little extra info with MySQL

I had quite a few problems creating FK’s and found out that it’s good practice to use different FKnames for each table.

Apparently MySQL does not like multiple instances of the same FK name in the same DB fordifferent tables which I also think is quite logical.

Thanks to everyone else on this post for all the info provided as well

Reply

66.

pavan

July 7, 2008 at 6:23 am

thanks a lot

Reply

67.

Marco Agurto

July 18, 2008 at 3:48 pm

I don’t write in english very well so a try to do my best work. I try to fix my alter with the nine stepsbut I cant fix my problem So I could fix my problem using the alter in the same order. In table oneDE_PROC, CO_PROC in the table two CO_PROC, DE_PROC change the order of table two, I amhappy again lucky for everybody

Reply

68.

jegreat

September 10, 2008 at 11:25 am

69.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

21 of 41 1/28/2011 7:07 PM

Page 22: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

make sure that the foreign key u r trying to add is already present in the reference table!! if thisvalue is not a primary key in the reference table; then u wil get this error

Reply

Nyleta

October 7, 2008 at 2:28 am

After a lot of swearing and reading through your suggestions I tried something from left field andshortened the name of my foreign key, and bingo! So if you are still adding to your list up the top,can I suggest shortening of the foreign key name.

Reply

70.

werutzb

October 7, 2008 at 9:43 pm

Hi!

I would like improve my SQL experience.I red that many SQL resources and would like toget more about SQL for my work as mysql database manager.

What would you recommend?

Thanks,Werutz

Reply

71.

Jason

October 8, 2008 at 1:46 pm

Thanks Nyleta, I found the max length is 64 chars, so I’ll add this to the list

Reply

72.

King`Babylon` » Blog Archive » Mysql : Foreign Key73.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

22 of 41 1/28/2011 7:07 PM

Page 23: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

October 23, 2008 at 9:40 am

[...] Un lien d’aide en cas d’erreur 1005 [...]

Reply

anonymous

October 24, 2008 at 5:25 pm

It the definition of the local columns that is different to the ForeignKey-Column (such like“UNSIGNED”, (), etc.)

Reply

74.

Paresh

November 11, 2008 at 7:20 pm

Thanks for the information. I had the problem of one is SIGNED and the other is UNSIGNED.

Your blog helped a lot!!!

Thanks again

Reply

75.

Nayyereh

November 12, 2008 at 7:34 am

Hi,Thank you Niels, I had this problem and with your suggestion solved.

Reply

76.

Deepak

77.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

23 of 41 1/28/2011 7:07 PM

Page 24: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

November 13, 2008 at 8:19 am

The solution that worked for me (having ensured all the above were verified was the length of thename of FK. I gave it a shorter name and it worked.

Reply

Brian

November 15, 2008 at 12:55 am

“You should also check that one is not SIGNED and the other is UNSIGNED.” Ahh..HAH!

Very good! Thank you sir.

-Brian

Reply

78.

Ignace

November 16, 2008 at 5:25 am

Some good advice: make sure all your tables are dropped in your database before running your sqlinstallation script! I personally use:

DROP TABLE IF EXISTS ..

before i place my table definition, however when i ran the script when their were already tables inthe db i got the #1005 error, when i used the same script on an empty db it worked just fine.

Reply

79.

the.janitor

November 18, 2008 at 8:47 am

thanks a lot, very helpful information

Reply

80.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

24 of 41 1/28/2011 7:07 PM

Page 25: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Shan

December 3, 2008 at 5:28 pm

This was incredibly helpful. I usually avoid these kind of sites, but this helped what was proving tobe an extremely frustrating issue. Brilliant.

Reply

81.

MySQL Error Number 1005 Can’t create table ‘.mydb#sql-328_45.frm’ (errno: 150) « FabioCepeda

December 4, 2008 at 4:53 pm

[...] Reasons for this error 2. Tips of importing to a [...]

Reply

82.

chicco

December 15, 2008 at 7:42 am

It’s a dirty way to solve it but if you enclose the alter table statement betweenSET FOREIGN_KEY_CHECKS=0;

and

SET FOREIGN_KEY_CHECKS=1;

it works

Reply

83.

HKASLCA

January 4, 2009 at 12:51 pm

Thanks.I’ve solved the problem.

Reply

84.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

25 of 41 1/28/2011 7:07 PM

Page 26: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Lainey

February 3, 2009 at 7:56 pm

Can I say I love you? I have spent hours trying to figure out this issue and it turned out that bothtables were MyISAM tables! Gotta love the internet and people like you who post solutions toproblems!

Reply

85.

CJ

February 12, 2009 at 12:06 pm

ONE MORE:

Make sure your tables are written in the definition file BEFORE you try and make a foreign key onthat table.

Stupid rubbish mysql parser.

Reply

86.

kirov

March 12, 2009 at 4:19 am

yeah, one more time THANK YOU, I was ready unninstal MySQL because of that, and the problemwas stupid index on column. Why they couldn’t do a error message about this, I don’t understand.

Reply

87.

MySQL Error Number 1005 Can’t create table ‘.mydb#sql-328_45.frm’ (errno: 150)

March 15, 2009 at 10:14 am

[...] from here directly. Bookmark it! These icons link to social bookmarking sites where readers canshare and [...]

Reply

88.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

26 of 41 1/28/2011 7:07 PM

Page 27: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

ynabid

April 10, 2009 at 11:36 am

when I change my tables engine to innoDB and I want to create a foreign key for a attribut that hasdata type=varchar, that not work but when I set flag to binary it work.

Reply

89.

Plat

April 15, 2009 at 7:55 pm

Thanks for the troubleshootin’ list. This saved me an incredible amount of time. I caught anUNSIGNED/SIGNED mismatch prior to this page, but didn’t think to check InnoDB vs MyISAM.My new editor must be defaulting to InnoDB for some reason.

Reply

90.

Gerhard Kratz

April 21, 2009 at 1:23 pm

Gerhard Kratz :I got rid of this problem, when I added the name of the primary key of the table to bereferenced to the foreign key constraint. Example:NOT: FOREIGN KEY ( articleFK ) REFERENCES Article ON DELETE …BUT: FOREIGN KEY ( articleFK ) REFERENCES Article ( articleID ) ON DELETE…

Reply

91.

Gerhard Kratz

April 22, 2009 at 12:19 am

If one wants to- CREATE TABLE A with FOREIGN KEY ( ab ) REFERENCES B

92.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

27 of 41 1/28/2011 7:07 PM

Page 28: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

- CREATE TABLE B with FOREIGN kEY ( ba ) REFERENCES Athen one of the foreign keys has to be declared without the table it references already existing.The problem is remedied proceeding as follows:- CREATE TABLE A- CREATE TABLE B with FOREIGN kEY ( ba ) REFERENCES A- ALTER TABLE A ADD FOREIGN KEY ( ab ) REFERENCES BI always give the name of the primary key of the table referenced to the foreign key constraint.

Reply

Lauro Valente

April 22, 2009 at 8:49 pm

Make sure the tables are clean, with no data in them….

Reply

Jason

April 24, 2009 at 12:39 am

that’s a good point Lauro. You can actually have data in the tables, but you have to make surethat every row works with the new key. a lot of times when you try to add a key you’ll haveto clean up the data first.

Reply

93.

Heti

April 29, 2009 at 11:01 am

thaaaaanks a ton … got the prblem fixed in lesser time than expected. ))))) i am so happppyyyy

Reply

94.

Radek

95.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

28 of 41 1/28/2011 7:07 PM

Page 29: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

May 22, 2009 at 5:55 pm

Thanks for that checklist.Here’s what was wrong in my case: mySQL 5.0 under windows lowercased all column names when Icreated the tables. Under UNIX the tables were created with orignal cases. Then I tried copy pastingthe ALTER TABLE statement from Windows DEV DB with the lowercase version. That is whereerno 150 came from.

Reply

Dave

June 24, 2009 at 3:45 am

Thanks heaps!!!!!!!!!!!!!!!

My problem was point 3 – duplicate fk name

Reply

96.

thao

June 27, 2009 at 9:46 am

thankyou!Can i translate this Posts to vietnamese and post it in our public site?

Reply

Jason

June 27, 2009 at 4:03 pm

hi thao, that would be ok – it would be appreciated if you link back to my site as well.

Reply

97.

zachariah

98.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

29 of 41 1/28/2011 7:07 PM

Page 30: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

June 29, 2009 at 7:51 am

Hi………. Thanks a lot. Great work. Helped me a lot.

Reply

che

July 6, 2009 at 7:32 am

ciao, thank you for this. my problem was #8

Reply

99.

Sax

July 14, 2009 at 6:02 am

Issue number 6 was my problem today. Thanks for the solution.

Reply

100.

Rohit

July 22, 2009 at 9:07 am

Really helpful post mate

Reply

101.

alk

July 22, 2009 at 9:19 am

anonymous :It the definition of the local columns that is different to the ForeignKey-Column (suchlike “UNSIGNED”, (), etc.)

102.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

30 of 41 1/28/2011 7:07 PM

Page 31: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Dude ur the best! i solved my pproblem using #6! Thanks alot.

Reply

ann_an

July 23, 2009 at 5:16 am

nice this trick saved my hell amount of time, thanks a ton

Reply

103.

What I like! » Blog Archive » Error #1005 – Can’t create table… en MySQL al intentar crear unarelacion 1-M

July 25, 2009 at 6:58 pm

[...] Pueden conseguir mas informacion en este blog http://www.verysimple.com/blog/2006/10/22/mysql-error-number-1005-cant-create-table-mydbsql-328_45fr... [...]

Reply

104.

Xavier Montero

August 13, 2009 at 4:56 pm

In the case it serves to somebody: Do not skip step6.

I’ve been messing with the same problem. The DATA TYPE was identical. In both cases aVARCHAR(36) which I use to store as primary keys standard UUID values as “string”.

Nevertheless, being them text, they have a “charset”, and one table was “UTF” and the other“LATIN”.

They did not link for that reason.

Changing the charset to be coherent (both to utf8 or both to latin) I was able to create the FOREIGNKEY without the error of “can’t create table…”

Reply

105.

Chris

106.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

31 of 41 1/28/2011 7:07 PM

Page 32: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

October 19, 2009 at 3:25 pm

Also:

If the primary key you want to connect to your foreign key is UNSIGNED make it G** D*** SUREthat your foreign key is also UNSIGNED.

Reply

wirawit

November 12, 2009 at 5:14 am

Hey, Fixed my Bug! Thx!

Reply

107.

Firas Abd Alrahman

November 19, 2009 at 3:53 pm

I encountered this problem in this caseI created a foreign keyOn Delete = Set NullOn Update = Set Null

but the foreign key field does Have “Not null ” flagJust removed the check by mysql GUI administrator and Everything was just fine

Reply

108.

Amal Kaluarachchi

November 30, 2009 at 10:14 pm

I had the same problem and spent many hours on troubleshooting. This article helped me to figure itout the issue. It was I have set the ondelete to set null where the table field is set not null.Thanks

Reply

109.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

32 of 41 1/28/2011 7:07 PM

Page 33: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

Brian Weiss

December 17, 2009 at 12:02 pm

My issue came up because I was trying to import/build a new table that had foreign keys in tablesthat didn’t exist. The export from the old MYSQL server exported the tables in alpha numeric order,but on the new server, my CONSTRAINT statement was referencing foreign keys in tables thatdidn’t yet exist as they were further down in the file. So I just cut and pasted the Create tablestatements into a new order, where all the ones that needed foreign keys were built after the tablesthey referenced. And it worked! Hope this helps others…

Reply

110.

AJ

January 8, 2010 at 3:24 pm

If you use the SQL command,

SHOW ENGINE INNODB STATUS;

it will give you are more detailed error message.

Reply

111.

Erika

January 13, 2010 at 9:53 am

Thanks, It solved my problem. One table had UNSIGNED checked and the other not. Pretty simplebut very hard to find.

Reply

112.

Daniel Cairol

January 20, 2010 at 5:26 pm

113.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

33 of 41 1/28/2011 7:07 PM

Page 34: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

THANKS BABY! My solution was number 4.

Reply

Kai-Jin

February 3, 2010 at 5:41 am

thy! uft8 != latin1

Reply

114.

Amit Singh

February 10, 2010 at 7:32 am

Thanks! it helped me I solved my permanent problem

Reply

115.

Kulish kushwah

March 18, 2010 at 3:32 am

The error may occur, if both the fields having different storage engine.

Reply

116.

sim4000

May 19, 2010 at 7:02 am

Many thanks.I remove “NOT NULL” from the FK column and it works!

Reply

117.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

34 of 41 1/28/2011 7:07 PM

Page 35: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

_Jon

May 21, 2010 at 1:53 pm

Thanks! #1 was my match.For some reason, this table was created with INT(5) for the PK, where all previous tables wereSMALLINT(5). I have no idea why the GUI did that.But now I know.Thanks again.

Reply

118.

VISHNU

May 25, 2010 at 12:19 am

unable to create partition on a parent a child table.query executed:ALTER TABLE table_name1 PARTITION BY KEY (pk_column_name1,pk_column_name2);ALTER TABLE table_name2 PARTITION BY KEY (pk_column_name1,pk_column_name2);

parent table name:table_name1child table name: table_name2

need to alter both the tables.

Reply

119.

pkak

June 22, 2010 at 7:38 am

dude, thanks. it was number 6

Reply

120.

csen

121.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

35 of 41 1/28/2011 7:07 PM

Page 36: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

July 9, 2010 at 5:21 pm

Good!As I have try the first one ,my problem was solved!haha,thanks a lot!

Reply

Lloyd

July 13, 2010 at 4:11 am

You’re a saviour! My error was number 5, I had FK set to “on delete set null” which wasreferencing a column that was “not null” in hind sight my mistake was so blindingly obvious but atthe time I just couldn’t see the wood for the trees.

This is fantastic list and a great resource

Cheers

Reply

Nikki

July 23, 2010 at 12:10 am

The thing that I noticed is the Character set of both the columns should be same….for e.g. Atable has primary key named ID,Now the table which want to use this key as foreign key ,thecolumn to which it is relating to be the foreign key should have same character set as that ofthe A table as well as the size should also be same.

Reply

122.

N3r1

August 6, 2010 at 2:23 pm

hi just run into another onelet me show youit doesn’t workconstraint `fk_res_num_occ` foreign key(`occ_res_num`)references`hotel`.`reservation`(`res_num`),it worksconstraint `fk_res_num_occ` foreign key(`occ_res_num`) references

123.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

36 of 41 1/28/2011 7:07 PM

Page 37: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

`hotel`.`reservation`(`res_num`),

there was no space after references

Reply

Joe Devon

August 7, 2010 at 10:16 pm

I had a really weird one I just fixed… Nothing on this list made a difference…but I noticed that asecond column (NOT USED AT ALL IN ANY WAY BY THE FK) in the original table had aunique index…so on a whim, I deleted it…was able to add a foreign key, then reinstate the uniqueindex…

No idea why that should matter…but if none of the above helps you, try it…

Reply

124.

Rolf

August 15, 2010 at 12:07 pm

If MySQL is acting like the usual piece of crap that it is, you might want to do this:SET FOREIGN_KEY_CHECKS = 0;To disable checks. It worked for me so far, as I couldn’t find the problem, despite your wonderfullycompiled list, and don’t intend so spend the rest of my day on this.Once done, there is still the option to re-enable the sadistic masochistic checks:SET FOREIGN_KEY_CHECKS = 1;Hope this info will be added to your post

Reply

125.

Kumar Pushkar

September 16, 2010 at 12:39 am

Yes! this page was really helpful….Thanks a lot…

Reply

126.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

37 of 41 1/28/2011 7:07 PM

Page 38: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

vamsi

September 29, 2010 at 12:59 am

Thanks for the info….

Reply

127.

Astghik

October 1, 2010 at 7:22 am

Thank you very much!!!!!!!!!!………The foreign key name is a duplicate of an already existing key. Check that the name of your foreignkey is unique within your database. Just add a few random characters to the end of your key nameto test for this. (Thanks to Niels for this tip)…….this step helps me

Reply

128.

Gopal

October 14, 2010 at 1:38 am

Hi,

Really really useful collection. Thanks a lot……

Reply

129.

Sofus

November 1, 2010 at 6:29 am

Ok, and here is another dumbass thing that caused it.If you misspelled a foreign key, it doesn’t give you a hint, it gives you an errno 150.

130.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

38 of 41 1/28/2011 7:07 PM

Page 39: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

had a primary key namet agnetID (should have been agentID), tried to refference that by calling thename that it should have had, but haddn’tI know that it is a stuppid fault, but a plausible one none the less.Thanks for your website!

Reply

Kay

November 1, 2010 at 11:30 am

Ouch. I just had 2 hours of frustration with this stupid error message. And going though the listsuggestions above, number 6 finally did it. The field’s character set was UTF8 the referenced table,but the database default character set is LATIN1 and the new table I created didn’t have characterset specified for that field. So it was created as LATIN1…

Boy this sucks! Now I have to search through my database definitions and find out what other tablesmay give me a headache in the future.

Thanks for this page. It should really be on MySQL’s web site. Why are the devs so ignorant to thegeneral user public and through non-descript error messages on the screen like this? If the innodbengine knows what the problem is (which I checked with the show innodb status), then the errorMySQL throws should be able to be more acurate than it is right now. (my two cents)

Reply

131.

Mike

November 4, 2010 at 11:49 am

Thank you so much, issie 5 was my problem, I was trying to “ON DELETE SET NULL” for a NOTNULL column, doh!

Reply

132.

Fletcher

December 17, 2010 at 8:18 am

Thank you!!! #1 INT(10) vs INT(11) How id that INT(11) getin there???

Reply

133.

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

39 of 41 1/28/2011 7:07 PM

Page 40: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

andre

December 23, 2010 at 12:05 pm

Segui todos os passos e obtive sucesso vlw, o que mais pegou: criar indice com os camposrelacionados nas duas tabelas, mesma tipagem de campos ate com o mesmo tamanho,Thanks!

(Automatic Portuguese to English translation: I followed all the steps and got success VLW, whichtook over: create index with the related fields in both tables, the same type of the fields even withthe same size, Thanks!)

Reply

134.

Dennis Herdman

January 12, 2011 at 9:01 am

THANK YOU!

Reply

135.

October 2006Mon Tue Wed Thu Fri Sat Sun

« Sep Nov »

1

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30 31

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

40 of 41 1/28/2011 7:07 PM

Page 41: MySQL Error Number 1005 Can't Create Table '.Mydb#SQL-32

ChocoTheme by .css{mayo} | powered by WordPress

Entries (RSS) and Comments (RSS)

loading

MySQL Error Number 1005 Can't create table '.mydb#sql-328_45.frm' (... http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-creat...

41 of 41 1/28/2011 7:07 PM


Recommended