如何将新列添加到现有复合主键

nas*_*ash 18 mysql

我遇到了一个问题,我在MYSQL表中已经有一个复合主键.但是现在我已经在该表中添加了另一列,并且由于一些需求更改,我必须以这样的方式修改该复合主键,即我需要将之前提到的列添加到该复合主键列表中.任何人都可以告诉我如何在不删除现有复合主键的情况下更改该表.我在Rails项目中这样做

Jer*_*ein 29

您无法更改主键.你必须删除并重新添加它:

ALTER TABLE MyTable
  DROP PRIMARY KEY,
  ADD PRIMARY KEY (old_col1, old_col2, new_col);
Run Code Online (Sandbox Code Playgroud)