Bug #49556 ERROR 1005 (HY000): Can't create table '#sql-b7c_3' (errno: -1)
| Submitted: | 9 Dec 2009 11:27 | Modified: | 20 Oct 2011 15:59 |
|---|---|---|---|
| Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Errors | Severity: | S2 (Serious) |
| Version: | 5.0.89, 5.1.43, 5.1.55, 5.5.99-m3, 5.5.8 | OS: | Any |
| Assigned to: | CPU Architecture: | Any |
[9 Dec 2009 11:27]
Shane Bester
[9 Dec 2009 14:56]
Valeriy Kravchuk
Item 3 of suggested fix is already reported and verified as Bug #24091.
[9 Dec 2009 15:08]
Valeriy Kravchuk
Verified by code review. This is what grep shows (in recent 5.1.43 sources): sql/table.cc:1261: "Please do \"ALTER TABLE '%s' FORCE\" to fix it!", sql/table.cc:1267: "Please do \"ALTER TABLE '%s' FORCE\" to fix it!", sql/table.cc:1471: "Please do \"ALTER TABLE '%s' FORCE \" to fix it!", sql/table.cc:1477: "Please do \"ALTER TABLE '%s' FORCE\" to fix " ... Here '%s' is wrong, as Shane explained.
[9 Dec 2009 15:11]
Valeriy Kravchuk
MySQL 5.0.x is also affected:
sql/table.cc:618: sql_print_error("Found incompatible DECIMAL field '%s' in %s; Please do \"ALTER TABLE '%s' FORCE\" to fix it!", share->fieldnames.type_names[i], name, share->table_name);
sql/table.cc:621: "Found incompatible DECIMAL field '%s' in %s; Please do \"ALTER TABLE '%s' FORCE\" to fix it!", share->fieldnames.type_names[i], name, share->table_name);
sql/table.cc:807: sql_print_error("Found wrong key definition in %s; Please do \"ALTER TABLE '%s' FORCE \" to fix it!", name, share->table_name);
sql/table.cc:810: "Found wrong key definition in %s; Please do \"ALTER TABLE '%s' FORCE\" to fix it!", name, share->table_name);
[11 Jan 2011 6:31]
Roel Van de Paar
Reproducible Testcase: DROP TABLE IF EXISTS `t1`; CREATE TABLE `t1` (`c1` decimal(19,14) unsigned zerofill NOT NULL) ENGINE=ARCHIVE DEFAULT CHARSET=latin1; CREATE INDEX `i1` ON `t1`(`c1`); CLI: mysql> CREATE INDEX `idx67` ON `t50`(`col94`); ERROR 1005 (HY000): Can't create table 'roelt.#sql-b7c_3' (errno: -1) Error log: 110111 17:19:01 [ERROR] Found wrong key definition in #sql-b7c_3; Please do "ALTER TABLE '#sql-b7c_3' FORCE " to fix it!
[11 Jan 2011 7:46]
Roel Van de Paar
Minimal testcase: DROP TABLE IF EXISTS `t2`; CREATE TABLE `t2` (`c2` decimal(1,1) NOT NULL) ENGINE=ARCHIVE; CREATE INDEX `i2` ON `t2`(`c2`);
[12 Jan 2011 16:10]
Omer Barnir
triage: changing tag from CHECKED to SRMRTBD
[20 Oct 2011 15:59]
Paul DuBois
Noted in 5.6.4 changelog. InnoDB used incorrect identifier quoting style in one of its error messages, which resulted in an error if a user followed the suggestion in the message.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.061 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.