我尝试了很多论坛,但不满意 - 我有一个主键和外键关系的表。
我必须删除带主键的表行,所以我需要在删除之前删除约束。
我用过:
delete from [docd_metadata].[docd_metadata].[STATEMENT_IMAGES]
where [statement_image_id]= 05291520275
我收到了错误:
DELETE语句与REFERENCE约束“fk_stmnt_image_StmntImageId”冲突。冲突发生在数据库“docd_metadata”,表“docd_metadata.STATEMENT_CAMPAIGN”,列'STATEMENT_IMAGE_ID'中。
所以我试过了:
ALTER TABLE[docd_metadata].[docd_metadata].[STATEMENT_IMAGES]
DROP CONSTRAINT [fk_stmnt_image_StmntImageId]
现在我得到了:
约束'fk_stmnt_image_StmntImageId'不属于表'STATEMENT_IMAGES'
架构:
此外:
有什么建议吗?
答案 0 :(得分:0)
如果您真的仔细阅读了错误消息,那么很明显FK约束在表docd_metadata.STATEMENT_CAMPAIGN
上而不在STATEMENT_IMAGES
上 - 因此,您必须使用此SQL来删除FK约束:
ALTER TABLE [docd_metadata].[STATEMENT_CAMPAIGN]
DROP CONSTRAINT [fk_stmnt_image_StmntImageId]
FK从表[docd_metadata].[STATEMENT_CAMPAIGN]
(列STATEMENT_IMAGE_ID
)到[docd_metadata].[STATEMENT_IMAGES]
- 一个表有主键,另一个表通过其外键引用。