use*_*723 1 foreign-key database-design sql-server alter-table ddl
我想通过添加一列来更改表格。到目前为止,这里没什么可看的,但我想让这个列成为复合键的一部分,即,我现在有一个布局
table_name( Field_1 datatype PK, Field_2 datatype,....)
Run Code Online (Sandbox Code Playgroud)
并且我希望插入的列,比如 Field_k 与现有的单字段 PK 一起成为 PK 的一部分。
我还没有找到有关如何执行此操作或是否可行的任何来源。请问有什么建议吗?
您需要删除引用它的 FK,然后删除 PK 并重新创建它,然后重新创建 FK。对此没有神奇的语法,但您可以在此处获得有关如何为 FK 生成 drop/create 脚本的一些想法:
如果我(当然是在不知不觉中)违反了过程中的某些约束,即,如果我忘记删除一些引用的表,我会收到警告吗?只是好奇 SQL 服务器如何处理完整性/约束违规。
当任何 FK 仍然引用它时,您将无法删除 PK。当然,您将无法重新创建 FK,直到那些其他表也有一个列可以填充您要添加到 PK 的新列。