下探唯一约束当拖放在Sybase Central唯一约束,显示下降语句如下;按名称
ALTER TABLE "DBA"."enr_rds_heating_control_validation_t" DROP CONSTRAINT "ASA826";
在此放弃的约束ASA826来自SYS.SYSCONSTRAINT视图,其中值来自constraint_name列。
这里的问题是,这是一个由Sybase分配给约束的唯一标识符,仅对当前数据库有效,因此,当针对另一个数据库运行时,此约束可能a)不存在或b)完全是不同的约束。
创建约束条件时,我们将其命名为enr_rds_heating_control_validation_t UNIQUE (enr_rds_heating_type_id,enr_rds_heating_control_id)
,该值可以在index_name列的SYS.SYSINDEX
视图中看到,并且该值在所有数据库中都保持唯一。
我曾尝试放弃通过INDEX_NAME约束到位约束名,并接收指示约束没有发现错误。
如何退出使用索引名称,而不是约束名的唯一约束?
也许这并不能回答你的问题,但你应该一直为你创建的每个约束分配一个明确的名字,这样你就不会遇到这样的情况。 –