下探唯一約束當拖放在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約束到位約束名,並接收指示約束沒有發現錯誤。
如何退出使用索引名稱,而不是約束名的唯一約束?
也許這並不能回答你的問題,但你應該一直爲你創建的每個約束分配一個明確的名字,這樣你就不會遇到這樣的情況。 –