I've got a table using the following primary key:

PRIMARY KEY (`Id`,`InputOutputConfigurationServerAccountId`,`Identifier`)

I wish to modify this to ensure that the PK is simply the Id column. How do you do that?

  1. Take away the old PK

    ALTER TABLE `table_name` DROP PRIMARY KEY

  2. Add the brand new PK

    ALTER TABLE `table_name` ADD PRIMARY KEY ( `Id` )

The issue appears to become you have Id understood to be auto_increment. You have to first change it out to simply plain int, them result in the changes, then transform it to auto_increment.
Do this:

ALTER TABLE SO1 MODIFY COLUMN ID INT;
ALTER TABLE SO1 DROP PRIMARY KEY;
ALTER TABLE SO1 ADD PRIMARY KEY (id);
ALTER TABLE SO1 MODIFY COLUMN ID INT AUTO_INCREMENT;

Here is a test of the aforementioned (btw, I acquired the mistake you pointed out inside your discuss other answer basically did not first customize the column):

drop table if exists SO1;
create table SO1 (
  id int auto_increment,
  InputOutputConfigurationServerAccountId int,
  Identifier int,
  PRIMARY KEY (`Id`,`InputOutputConfigurationServerAccountId`,`Identifier`)
);
ALTER TABLE SO1 MODIFY COLUMN ID INT;
ALTER TABLE SO1 DROP PRIMARY KEY;
ALTER TABLE SO1 ADD PRIMARY KEY (id);
ALTER TABLE SO1 MODIFY COLUMN ID INT AUTO_INCREMENT;
show create table SO1;

All performed OK. Final Output:

CREATE TABLE `SO1` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `InputOutputConfigurationServerAccountId` int(11) NOT NULL DEFAULT '0',
  `Identifier` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`ID`)
)