List:General Discussion« Previous MessageNext Message »
From:Gavin Towey Date:February 8 2010 10:58pm
Subject:RE: Converting MyISAM to InnoDB
View as plain text  
If you have a column defined as auto_increment, there must be a key on it.  This is true
both in myisam and innodb.

If you need further help, please show us the full structure of the real table you're
operating on (not the one from your sandbox), the statement you run, and the error
message.

Regards,
Gavin Towey

-----Original Message-----
From: Steve Staples [mailto:sstaples@stripped]
Sent: Monday, February 08, 2010 9:39 AM
To: mysql@stripped
Subject: Converting MyISAM to InnoDB

Hello again!

I am trying to convert my tables to InnoDB, and i am getting an error...

Error: 1075
Incorrect table definition; there can be only one auto column and it must be
defined as a key

Now, I converted a table in my sandbox earlier this morning to do some
testing, and it worked fine... mind you, i did truncate the table first, but
i am not sure if that is relavent or not.

The table structure has a TONNE of fields, but to give you an idea... here
is what is starts out like:

CREATE TABLE `radacct_201002` (
  `Year_Month` INT(11) UNSIGNED NOT NULL DEFAULT '0',
  `Radacct_Id` INT(11) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `Acct_Authentic` VARCHAR(32) DEFAULT '',
Etc etc........
  PRIMARY KEY  (`Year_Month`,`Radacct_Id`),
  UNIQUE KEY `radacct_id` (`Radacct_Id`),
  KEY (there are keys here.... not of any relevance that i can see)
) ENGINE=INNODB DEFAULT CHARSET=latin1

That is the table in the sandbox, and as i said, all i did was truncate it,
and change to innodb (there was prolly about 5-10 rows when i did it) and
there wasn't any issues.   When i do it to the live database (i copied a
table of live data, so i can convert it and see what kind of times/loads i
get) i get the error...

I am in the midst of removing the combined unique primary key, to see if
that is the culperate or not, but if anyone has any ideas, i am eager to
listen :)

Steve.


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=1


This message contains confidential information and is intended only for the individual
named.  If you are not the named addressee, you are notified that reviewing,
disseminating, disclosing, copying or distributing this e-mail is strictly prohibited. 
Please notify the sender immediately by e-mail if you have received this e-mail by
mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed
to be secure or error-free as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not
accept liability for any loss or damage caused by viruses or errors or omissions in the
contents of this message, which arise as a result of e-mail transmission. [FriendFinder
Networks, Inc., 220 Humbolt court, Sunnyvale, CA 94089, USA, FriendFinder.com
Thread
Converting MyISAM to InnoDBSteve Staples8 Feb
  • RE: Converting MyISAM to InnoDBGavin Towey8 Feb