có vẻ như ràng buộc khóa ngoại được hỗ trợ kể từ phiên bản 3.6.x trong SQLite. Phiên bản của SQLite trên IOS5.0 là 3.7.7 (được tìm thấy trong sqlite3.h).SQLite - Các ràng buộc khóa ngoại - IOs 5
Nhưng khi tôi cố chèn hàng vào bảng có ràng buộc, hàng của tôi được chèn chính xác ngay cả khi khóa ngoại có liên quan không tồn tại. Tôi không có lỗi.
Làm báo cáo kết quả chèn tương tự sử dụng các ứng dụng như Navicat mang lại cho tôi một "lỗi vi phạm ràng buộc"
Bạn có biết nếu các phím nước ngoài được hỗ trợ trên iOS 5?
Dưới đây là Schema Database:
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)
Thực sự đơn giản, phải không?
Cảm ơn Emmanuel
Bạn có thể đăng mã nơi bạn đang chèn vào bàn? – Eric
Xin chào, tôi đang sử dụng FMDatabase, mã thực sự đơn giản: [db executeUpdate: @ "chèn vào giá trị (trackname, trackartist) (?,?)", @ "new track", [NSNumber numberWithInt: i ]] – ecaste
Lạ ... Tôi có cùng kịch bản giống với bạn ... (Navicat, iOS, FMDB). Cùng một vấn đề. Gotta yêu SO. – walkingbrad