我遇到了问题,因为我已经有一个MYSQL表中的复合主键。但是现在我又向该表中添加了另一列,并且由于需要进行一些更改,我必须以这种方式修改该组合主键,以便我需要将此前提到的列添加到该组合主键列表中。任何人都可以告诉我如何改变该表而不丢弃现有的复合主键。我在Rails项目中这样做如何将新列添加到现有的复合主键
17
A
回答
25
你不能改变主键。你必须删除并重新添加它:
ALTER TABLE MyTable
DROP PRIMARY KEY,
ADD PRIMARY KEY (old_col1, old_col2, new_col);
+0
这是这样做的方式,如果有什么东西阻止你放弃主键 – PrashanD 2017-06-27 08:34:25
0
但是如果一个密钥不存在? 例如:
ALTER TABLE xxxx ADD id INT NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(id,id2,id3);
相关问题
- 1. 如何将外键添加到复合主键
- 2. 将主键添加到现有表
- 3. 将主键添加到现有表
- 4. SQL(access) - 将新字段添加到复合主键
- 5. 将主键列添加到现有的mysqli数据库表中
- 6. 将新条目添加到现有主键时出错sybase
- 7. 如何将新主机添加到kubernetes中的现有Ingress中?
- 8. laravel-mongodb:如何将外键添加到两个现有集合?
- 9. 如何将AUTO_INCREMENT添加到现有列?
- 10. 如何将主键添加到Rails?
- 11. 添加复合外键到现有的SQL表
- 12. 如何将新的元素添加到现有阵列提起
- 13. SQL Server将自动增加主键添加到现有表
- 14. PostgreSQL如何将聚合列添加到现有查询
- 15. ALTER TABLE添加一个复合主键
- 16. 如何将列添加到MySQL InnoDB表的主键?
- 17. 添加一个新的主键列
- 18. 如何将XML中的重复键添加到散列
- 19. 如何添加新键值对到现有的对象
- 20. 将外键添加到现有表
- 21. SQL将外键添加到现有表
- 22. Opencsv +新列添加到现有的CSV
- 23. 如何新列添加到现有的表与第一列
- 24. 添加或更新EF复合主键违规
- 25. 如何将组合框或复选框添加到“Datagridview”的现有记录不在新列中
- 26. 如何在SQL Server中的外键添加到现有列2012
- 27. 如何添加新列以将表复制到新表中?
- 28. 如何使用Rails在db中添加复合主键?
- 29. 如何将新的键值对添加到词典列表?
- 30. 如何在PostgreSQL中将自动递增主键添加到现有表中?
请注意,我有外键一些是在复合主键 – nash 2010-02-25 15:00:06
的外键的部分主键列?这是不好的魔咒。你真的应该切换到自动增量主键。 – MindStalker 2010-02-25 15:16:42
放弃钥匙不应该放弃价值 - 为什么你不能放弃PK? – reech 2010-02-25 15:44:37