Bug #33134 | describe table output wrong for unique key when primary key is dropped | ||
---|---|---|---|
Submitted: | 11 Dec 2007 10:57 | Modified: | 11 Dec 2007 11:25 |
Reporter: | Paul Keenan | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: DDL | Severity: | S3 (Non-critical) |
Version: | 5.0.51 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | DESCRIBE, key, primary, unique |
[11 Dec 2007 10:57]
Paul Keenan
[11 Dec 2007 11:16]
Valeriy Kravchuk
Thank you for a problem report. Looks like your table is created as InnoDB one. Please, send the results of show create table t1\G to check that.
[11 Dec 2007 11:22]
Paul Keenan
Yes, it's InnoDB : mysql> show create table t1; +-------+----------------------------------------------------------------------- ----------------------------------------------------------------+ | Table | Create Table | +-------+---------------------------------------------------------------------------------------------------------------------------------------+ | t1 | CREATE TABLE `t1` ( `i1` int(11) NOT NULL, `i2` int(11) NOT NULL, UNIQUE KEY `i2` (`i2`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | +-------+---------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql>
[11 Dec 2007 11:25]
Susanne Ebrecht
Verified as described. mysql> create table t1 (id integer not null, num integer not null, primary key(id), unique(num)); mysql> desc t1; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | num | int(11) | NO | UNI | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) mysql> show create table t1\G *************************** 1. row *************************** Table: t1 Create Table: CREATE TABLE `t1` ( `id` int(11) NOT NULL, `num` int(11) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `num` (`num`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 1 row in set (0.00 sec) mysql> alter table t1 drop primary key; Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc t1; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | NO | | NULL | | | num | int(11) | NO | PRI | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) mysql> show create table t1\G *************************** 1. row *************************** Table: t1 Create Table: CREATE TABLE `t1` ( `id` int(11) NOT NULL, `num` int(11) NOT NULL, UNIQUE KEY `num` (`num`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 1 row in set (0.00 sec) It seems, that "desc" just print out wrong informations.
[17 Sep 2010 8:03]
Konstantin Osipov
See also Bug#11228.