我有一個表中已經定義了一個主鍵。我想添加一個列,它也必須是主鍵的一部分。如何做到這一點?如何更改表中現有的主鍵?
回答
如果PK_MY_TABLE
是現有主鍵約束名稱:
ALTER TABLE MY_TABLE DROP CONSTRAINT PK_MY_TABLE;
COMMIT;
alter table MY_TABLE
add constraint PK_MY_TABLE
primary key (ID,ID_1);
或
ALTER TABLE MY_TABLE DROP CONSTRAINT PK_MY_TABLE, ADD CONSTRAINT PK_MY_TABLE PRIMARY KEY (ID,ID_1);
是否沒有單一的命令來實現它,而不必先刪除約束?我很可能會使用ALTER TABLE名稱的ADD語句來添加列。 –
它仍然首先刪除約束。 :) –
現有的主鍵必須首先下降,因爲必須只有一個PK –
一種優雅的方式來做到這一點單查詢
在MYSQL
ALTER TABLE TABLE_NAME DROP PRIMARY KEY, ADD PRIMARY KEY(ID,ID_1);
在Firebird: -
ALTER TABLE TABLE_NAME DROP CONSTRAINT TEST_CONST, ADD PRIMARY KEY (ID,ID_1)
據我所知,DROP PRIMARY KEY在firebird中不起作用。 –
@BlurrySterk感謝您指出 – Naruto
你不能這樣做,這是一個步驟中,火鳥
你需要做的,例如
ALTER TABLE MY_TABLE DROP約束PK_MY_TABLE以上報價;
alter table add id_1;
COMMIT;
alter table MY_TABLE add constraint PK_MY_TABLE primary key(ID,ID_1);
commit;
強烈建議,當你有獨家使用的數據庫
- 1. 如何更改MySQL中表的主鍵?
- 2. 如何更改表的主鍵
- 3. 如何更改表的複合主鍵
- 4. 更改現有MySQL複製主鍵
- 5. 如何更改grails中的主鍵列?
- 6. 更改在MySQL中具有外鍵約束的表主鍵
- 7. PostgreSQL,重新配置現有表,將主鍵更改爲type = serial
- 8. 更改主鍵
- 9. 更改主鍵
- 10. 更改其他表中外鍵引用的表的主鍵列
- 11. 在SQL表中更改主鍵
- 12. 如何更改SQL Azure上的主鍵
- 13. 更改沒有主鍵的表中的每條記錄?
- 14. 更改表的主鍵的SQLite
- 15. 在Oracle中更改主鍵
- 16. 將訪問表中的所有主鍵更改爲新數字
- 17. 更改主鍵已經存在的表
- 18. 更改SharePoint列表的主鍵?
- 19. 更改主鍵和標識的表列
- 20. 更改引用表上的主鍵
- 21. 如何將現有單元格更改爲phpmyadmin中的外鍵
- 22. 如何更改NSMutableDictionary中現有對象的鍵?
- 23. 更改爲現有數據庫上的共享主鍵?
- 24. 更改主鍵值
- 25. CQL3更改主鍵
- 26. 如何更改jQuery中現有表中的錶行值?
- 27. 如何使用NHibernate更改主鍵
- 28. 更改表中主鍵的值和參考表中的FK
- 29. 更改Sql表(將外鍵更改爲表的第二個主鍵)
- 30. 如何使用SAP HANA將(主鍵)添加到現有表中
ALTER TABLE提供商DROP PRIMARY KEY,ADD PRIMARY KEY(人,地,事)做到這一點; – Naruto