Could not drop object 'student' because it is referenced by a FOREIGN KEY constraint,constraint

來源:互聯網
上載者:User

Could not drop object 'student' because it is referenced by a FOREIGN KEY constraint,constraint

1. Find foreign keys

SELECT* FROM sys.foreign_keysWHERE referenced_object_id = object_id('Student')

2. Delete foreign keys

SELECT    'ALTER TABLE ' +  OBJECT_SCHEMA_NAME(parent_object_id)+    '.['+ OBJECT_NAME(parent_object_id)+     '] DROP CONSTRAINT '+ nameFROM sys.foreign_keysWHERE referenced_object_id= object_id('Student')


SQL truncate表時提示外鍵錯誤

nocheck選項只對插入、更新記錄有用,對truncate沒有用,而且你禁用MRB_OrdersHeaders的外鍵是沒用的,不能truncate的主要原因是MRB_OrdersHeaders表被其它表的外鍵引用了。
如果業務允許,把引用了MRB_OrdersHeaders表的其它表的相應外鍵都刪掉。
如果需要保留那些外鍵,則把相應表裡存在的記錄都刪除就行了。
比如MRB_OrdersHeaders表被A表引用,那麼就先刪除A表中的記錄。因為可能涉及級聯引用的問題,需要一級級的刪除。
刪除之後也是不能truncate的,只能delete
 
IF OBJECT_ID(N'STUDENT') IS NOT NULL DROP TABLE STUDENT GO 這是T-SQL語句,詳細解釋一下

這條語句是在判斷是否有 STUDENT 這張表,如果有的話就刪除!OBJECT_ID() 其實是一個系統函數用於返回對象標識號,因為在SQL-Server 中 在一個資料庫中不存在相同的表名,而且每個表名都進行了ID標識 ,所以可以用這個函數來判斷是否有某個對象的存在。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.