क्यों TRUNCATE पर mygroup काम नहीं करता है? हालांकि, मेरे पास
पर DELETE CASCADE SET I get:
त्रुटि 1701 (42000): किसी विदेशी कुंजी बाधा में संदर्भित तालिका को छोटा नहीं कर सकता ( mytest < / Code>। उदाहरण , CONSTRAINT example_ibfk_1 विदेशी कुंजी ( GroupID ) संदर्भ mytest । mygroup ( आईडी ))
ड्रॉप डेटाबेस mytest; डेटाबेस मैटस्टेस्ट बनाएं; Mytest का उपयोग करें; टेबल मेग्यूट बनाएं (आईडी INT नहीं शुद्ध AutoConnect प्राथमिक कुंजी) इंजन = InnoDB; सारणी उदाहरण बनाएँ (आईडी INT नहीं शुद्ध AutoConnect प्राथमिक कुंजी, समूह IID INT नहीं, दिनांक समय DATETIME DEFAULT शून्य, विदेशी कुंजी (GroupID) संदर्भ DELETE CASCADE, UNIQUE (GroupID) पर mygroup (आईडी) इंजन = InnoDB;
आप नहीं कर सकते TRUNCATE एक तालिका जिसके पास एफके की बाधाएं हैं इस पर ( TRUNCATE ऐसा नहीं है DELETE )।
इस के आसपास काम करने के लिए, इन समाधानों में से किसी का उपयोग करें डेटा अखंडता को नुकसान पहुंचाने के मौजूदा जोखिम दोनों।
विकल्प 1:
- बाधाओं को निकालें
-
TRUNCATE करें
मैन्युअल रूप से पंक्तियों को हटाएं जो अब कहीं नहीं
संदर्भों के लिए विकल्प 2: user447951 में
SET FOREIGN_KEY_CHECKS = 0 द्वारा सुझाए गए; TRUNCATE तालिका $ table_name; सेट FOREIGN_KEY_CHECKS = 1;
Comments
Post a Comment