【发布时间】:2011-03-16 18:35:01
【问题描述】:
我正在创建一个包含多个 sql 文件的数据库 1个文件创建表。 1 个文件添加了约束。 1 个文件删除了约束。
主键是一个约束,但是有人告诉我在表定义中定义你的主键,但没有给出原因。
将主键定义为可以添加和删除的约束更好还是在表定义中更好。
我目前的想法是在表定义中这样做,因为将其作为可移动约束可能会导致重复键出现一些可怕的问题。 但是删除约束无论如何都可能导致严重的问题,因此预计如果有人确实删除了主键,他们会采取适当的措施来避免问题,因为他们应该在任何其他数据输入中遇到问题
【问题讨论】:
-
我们通常在每个表的一个脚本中为每个对象和所有相关的约束、索引等编写脚本,并将该脚本保存在源代码管理中。它删除现有对象,然后在最后重新创建。对于更高版本,我们可能有一个 alter table 脚本,它仅适用于该版本的更改。
标签: sql primary-key theory