[Warning: LOOOONG TEXT - enjoy ;-)] Hi Victoria,
sorry for the misunderstanding. I just tried to reproduce the sample. While I have records what I did I did not write down all commands exactly as they are. The problem(s) occured on Redhat 8 or 9 and Mysql server-max 4.0.13 (tar format) from mysql homepage. I had to reinstall a machine to reproduce the problem,this is why it took so long. ---- First the original problem Redhat 9 + Mysql server-max 4.0.13 (tar format from mysql.com homepage) create table uksample2 (id int unique not null ,name char(30),tel char(20))type=innodb; Query OK, 0 rows affected (0.01 sec) mysql> alter table uksample2 add primary key (tel); Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc uksample2; +-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | id | int(11) | | UNI | 0 | | | name | char(30) | YES | | NULL | | | tel | char(20) | | PRI | | | +-------+----------+------+-----+---------+-------+ 3 rows in set (0.00 sec) mysql> alter table uksample2 drop primary key; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc uksample2; +-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | id | int(11) | | | 0 | | | name | char(30) | YES | | NULL | | | tel | char(20) | | PRI | | | +-------+----------+------+-----+---------+-------+ 3 rows in set (0.00 sec) Unique key was dropped. Why not Primary key, why no error message??? ------ 2nd example where it complains about that no two primary keys are allowed,but lets me create them first ;-) This time on Redhat 8. Redhat8 and 4.0.13 server-max (tar format from mysql.com homepage) create table uksample2 (id int unique not null auto_increment,name char(30),tel char(20)); Query OK, 0 rows affected (0.01 sec) mysql> desc uksample2; +-------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+----------------+ | id | int(11) | | PRI | NULL | auto_increment | | name | char(30) | YES | | NULL | | | tel | char(20) | YES | | NULL | | +-------+----------+------+-----+---------+----------------+ 3 rows in set (0.00 sec) mysql> alter table uksample2 add primary key (tel); Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc uksample2; +-------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+----------------+ | id | int(11) | | UNI | NULL | auto_increment | | name | char(30) | YES | | NULL | | | tel | char(20) | | PRI | | | +-------+----------+------+-----+---------+----------------+ 3 rows in set (0.00 sec) mysql> alter table uksample2 drop primary key ; ERROR 1075: Incorrect table definition; There can only be one auto column and it must be defined as a key mysql> alter table uksample2 drop primary key (id); Note that also "alter table uksample2 drop index id;" will give me the same error. ----- On a Suse Linux system 8.1 with mysql server max 4.1 -alpha (rpm format from mysql.com homepage) I get the below message, which I believe is correct. mysql> create table uksample2 (id int unique not null auto_increment,name char(30),tel char(20)); Query OK, 0 rows affected (0.07 sec) mysql> alter table uksample2 add primary key (tel); ERROR 1171: All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead mysql> drop table uksample2; Query OK, 0 rows affected (0.00 sec) Best regards Nils Valentin Tokyo/Japan 2003年 8月 6日 水曜日 19:22、Victoria Reznichenko さんは書きました: > "Nils Valentin" <[EMAIL PROTECTED]> wrote: > > Hi Victoria, > > > > Victoria Reznichenko wrote: > >>"Nils Valentin" <[EMAIL PROTECTED]> wrote: > >>>I have a problem understanding why MySQL is deleting a unique key > >>> instead of a primary key. > >>> > >>>from Documentation: DROP PRIMARY KEY drops the primary index. If no such > >>> index exists, it drops the first UNIQUE index in the table. > >>> > >>>When I do it then I get this: > >>> > >>>mysql> desc uksample4; > >>>+-------+----------+------+-----+---------+-------+ > >>> > >>>| Field | Type | Null | Key | Default | Extra | > >>> > >>>+-------+----------+------+-----+---------+-------+ > >>> > >>>| id | int(11) | | UNI | 0 | | > >>>| name | char(30) | YES | | NULL | | > >>>| tel | char(20) | | PRI | | | > >>> > >>>+-------+----------+------+-----+---------+-------+ > >>>3 rows in set (0.00 sec) > >>> > >>>mysql> alter table uksample4 drop primary key ; > >>>Query OK, 0 rows affected (0.24 sec) > >>>Records: 0 Duplicates: 0 Warnings: 0 > >>> > >>>mysql> desc uksample4; > >>>+-------+----------+------+-----+---------+-------+ > >>> > >>>| Field | Type | Null | Key | Default | Extra | > >>> > >>>+-------+----------+------+-----+---------+-------+ > >>> > >>>| id | int(11) | | | 0 | | > >>>| name | char(30) | YES | | NULL | | > >>>| tel | char(20) | | PRI | | | > >>> > >>>+-------+----------+------+-----+---------+-------+ > >>>3 rows in set (0.00 sec) > >>> > >>>It deletes the unique key (id) instead of he primary key (tel). > >>> > >>>Did I do something wrong ? > >>> > >>>MySQL 4.0.14 > >> > >>Your example worked fine for me. Could you provide a test case? > > > > I know that the example worked as decribed above, thank you for > > confirming it. :-) > > My Question is, why would it not drop the primary key, but the unique > > key instead ?? > > > > Which command would delete the primary key ? > > MySQL drops primary key for me. That is why I ask you about test case. > > > -- > For technical support contracts, goto https://order.mysql.com/?ref=ensita > This email is sponsored by Ensita.net http://www.ensita.net/ > __ ___ ___ ____ __ > / |/ /_ __/ __/ __ \/ / Victoria Reznichenko > / /|_/ / // /\ \/ /_/ / /__ [EMAIL PROTECTED] > /_/ /_/\_, /___/\___\_\___/ MySQL AB / Ensita.net > <___/ www.mysql.com -- --- Valentin Nils Internet Technology E-Mail: [EMAIL PROTECTED] URL: http://www.knowd.co.jp Personal URL: http://www.knowd.co.jp/staff/nils -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]