ऐसा लगता है कि विदेशी कुंजी की सीमाएं SQLite में संस्करण 3.6.x के बाद समर्थित हैं। IOS5.0 पर SQLite का संस्करण 3.7.7 है (sqlite3.h में मिला है)।एसक्यूएलएइट - विदेशी कुंजी की कमीएं - आईओएस 5
लेकिन जब मैं एक सारणी में एक पंक्ति डालने का प्रयास करता हूं जिसमें बाधा होती है, तो मेरी पंक्ति सही ढंग से डाली जाती है भले ही संबंधित विदेशी कुंजी मौजूद न हो। मुझे कोई त्रुटि नहीं है।
ही डालने बयान एप्लिकेशन का उपयोग कर की तरह Navicat मुझे एक "बाधा उल्लंघन त्रुटि"
आप जानते हैं कि विदेशी कुंजी iOS 5 पर समर्थन कर रहे क्या देता कर?
CREATE TABLE artist(
artistid INTEGER PRIMARY KEY,
artistname TEXT
)
CREATE TABLE "track" (
"trackid" INTEGER PRIMARY KEY AUTOINCREMENT,
"trackname" TEXT,
"trackartist" INTEGER,
CONSTRAINT "trackartist" FOREIGN KEY ("trackartist") REFERENCES "artist" ("artistid") ON DELETE CASCADE ON UPDATE CASCADE)
सच सरल है, है न:
यहाँ डाटाबेस स्कीमा है?
धन्यवाद एम्मानुएल
: SQLite Doc
और जब आप कनेक्शन खोलने क्या आप उस कोड को पोस्ट कर सकते हैं जहां आप डालने वाले हैं तालिका? – Eric
हाय, मैं एफएमडेटाबेस का उपयोग कर रहा हूं, कोड वास्तव में सरल है: [डीबी executeUpdate: @ "ट्रैक में डालें (ट्रैकनाम, trackartist) मान (?,?)", @ "नया ट्रैक", [NSNumber संख्या WithInt: i ]] – ecaste
अजीब ... मेरे पास बिल्कुल वही परिदृश्य है ... (Navicat, आईओएस, एफएमडीबी)। वही मुद्दा। बहुत प्यार होना चाहिए। – walkingbrad