Подтвердить что ты не робот

Как добавить новый столбец в существующий составной первичный ключ

Я столкнулся с проблемой в том, что у меня уже есть составной первичный ключ в таблице MYSQL. Но теперь я добавил еще один столбец в эту таблицу и из-за некоторых изменений требований, я должен изменить этот составной первичный ключ таким образом, что мне нужно добавить этот ранее упомянутый столбец в список составных первичных ключей. Может ли кто-нибудь сказать мне, как изменить эту таблицу, не отбрасывая существующий составной первичный ключ. Я делаю это в проекте Rails

4b9b3361

Ответ 1

Вы не можете изменить первичный ключ. Вам нужно сбросить и снова добавить его:

ALTER TABLE MyTable
  DROP PRIMARY KEY,
  ADD PRIMARY KEY (old_col1, old_col2, new_col);

Ответ 2

но если ключа нет? Пример:

ALTER TABLE xxxx ADD id INT NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(id,id2,id3);