Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.31, 10.2.11, 10.0(EOL), 10.1(EOL), 10.2(EOL)
-
None
-
Linux Mint
Description
I try to alter table to add a composite primary key with "if not exists clause" to a table. One of these column is already in a composite unique index with an other column.
I get warning code 1061 "Multiple primary key defined".
But without "IF NOT EXISTS", it works fine.
This is my example :
CREATE TABLE `HORIZON` ( |
`ID` BIGINT(20) NOT NULL, |
`RANK` MEDIUMINT(4) NOT NULL, |
`CHECK_POINT` BIGINT(20) NOT NULL, |
UNIQUE INDEX `HORIZON_UIDX01` (`ID`, `RANK`) |
) COLLATE='utf8_general_ci' ENGINE=InnoDB ; |
|
ALTER TABLE `HORIZON` ADD PRIMARY KEY IF NOT EXISTS (`ID`, `CHECK_POINT`); /* warning code 1061 */ |
ALTER TABLE `HORIZON` ADD PRIMARY KEY (`ID`, `CHECK_POINT`); /* works fine */ |
Attachments
Issue Links
- relates to
-
MDEV-8358 ALTER TABLE .. ADD PRIMARY KEY IF NOT EXISTS -> ERROR 1068 (42000): Multiple primary key defined
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Priority | Major [ 3 ] | Minor [ 4 ] |
Affects Version/s | 10.2.11 [ 22634 ] |
Summary | ADD PRIMARY KEY IF NOT EXISTS on composite key with one | ADD PRIMARY KEY IF NOT EXISTS on composite key |
Description |
I try to alter table to add a composite primary key with "if not exists clause" to a table. One of these column is already in a composite unique index with an other column.
I get warning code 1061 "Multiple primary key defined". But without "IF NOT EXISTS", it works fine. This is my example : {code:sql} CREATE TABLE `HORIZON` ( `ID` BIGINT(20) NOT NULL, `RANK` MEDIUMINT(4) NOT NULL, `CHECK_POINT` BIGINT(20) NOT NULL, UNIQUE INDEX `HORIZON_UIDX01` (`ID`, `RANK`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB ; ALTER TABLE `HORIZON` ADD PRIMARY KEY (`ID`, `CHECK_POINT`); /* works fine */ ALTER TABLE `HORIZON` ADD PRIMARY KEY IF NOT EXISTS (`ID`, `CHECK_POINT`); /* warning code 1061 */ {code} |
I try to alter table to add a composite primary key with "if not exists clause" to a table. One of these column is already in a composite unique index with an other column.
I get warning code 1061 "Multiple primary key defined". But without "IF NOT EXISTS", it works fine. This is my example : {code:sql} CREATE TABLE `HORIZON` ( `ID` BIGINT(20) NOT NULL, `RANK` MEDIUMINT(4) NOT NULL, `CHECK_POINT` BIGINT(20) NOT NULL, UNIQUE INDEX `HORIZON_UIDX01` (`ID`, `RANK`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB ; ALTER TABLE `HORIZON` ADD PRIMARY KEY IF NOT EXISTS (`ID`, `CHECK_POINT`); /* warning code 1061 */ ALTER TABLE `HORIZON` ADD PRIMARY KEY (`ID`, `CHECK_POINT`); /* works fine */ {code} |
Fix Version/s | 10.0 [ 16000 ] | |
Fix Version/s | 10.1 [ 16100 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Affects Version/s | 10.0 [ 16000 ] | |
Affects Version/s | 10.1 [ 16100 ] | |
Affects Version/s | 10.2 [ 14601 ] | |
Assignee | Alexey Botchkov [ holyfoot ] |
Status | Open [ 1 ] | Confirmed [ 10101 ] |
Priority | Minor [ 4 ] | Major [ 3 ] |
Status | Confirmed [ 10101 ] | In Progress [ 3 ] |
Fix Version/s | 10.0.36 [ 22916 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.0 [ 16000 ] | |
Fix Version/s | 10.1 [ 16100 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 84458 ] | MariaDB v4 [ 153363 ] |
Thanks for the report and test case.
It appears to be related to
MDEV-8358, thus assigning to holyfoot.