एंड्रॉइड 4.2 में, SQLite 3.7.11 का उपयोग करते हुए, जब मैं क्विज़ तालिका से एक पंक्ति हटाता हूं, जो स्कीमा नीचे है, क्विज़ क्वेस्टेशन तालिका में संबंधित पंक्तियां हटाई नहीं जाती हैं।SQLite हटाएं कैस्केड काम नहीं कर रहा
मैं यह नहीं समझ सकता कि क्या गलत है। मैंने
db.execSQL("PRAGMA foreign_keys = ON;");
बनाने तालिका विवरणों के पहले और बाद में डालने का प्रयास किया है।
बनाएं तालिका बयान:
CREATE TABLE quizzes(quiz_name TEXT PRIMARY KEY COLLATE NOCASE);
CREATE TABLE quizQuestions(quiz_name TEXT, question_id INTEGER,
PRIMARY KEY(quiz_name, question_id),
FOREIGN KEY(quiz_name) REFERENCES quizzes(quiz_name) ON DELETE CASCADE,
FOREIGN KEY(question_id) REFERENCES questions(question_id) ON DELETE CASCADE);
क्या कोई त्रुटि संदेश है? यह ध्यान देने के अलावा कि यह काम नहीं कर रहा है ... – bonCodigo
नहीं, LogCat में कुछ भी नहीं दिखाता है। – Dan14021
शायद यह तथ्य यह है कि आपके प्राथमिक कुंजी एक यौगिक कुंजी .... कुछ इस तरह शायद .: प्राथमिक कुंजी (quiz_name, question_id) संघर्ष पर ध्यान न दें, बाधा "PrimaryKey" है की वजह से है विदेशी कुंजी ("quiz_name", "question_id") संदर्भ "quizQuestions" ("quiz_name", "question_id") हटाए गए कैस्केड पर); – bonCodigo