iPhone:创建支持外键的sqlite数据库

时间:2012-02-13 19:48:35

标签: iphone sqlite

我正在开发一个iPhone应用程序,我需要在sqlite3数据库中存储大量数据。

我想为下面的一个例子创建具有外键约束的表。如何使用sqlite或以编程方式创建下表?

请指教!

"CREATE TABLE List (_id INTEGER PRIMARY KEY, ListId INTEGER UNIQUE, ListName TEXT, nameId INTEGER, FLAG BOOL)",
"CREATE TABLE User (_id INTEGER PRIMARY KEY, Name TEXT, ListId INTEGER, FOREIGN KEY(ListId) REFERENCES List(ListId))",

1 个答案:

答案 0 :(得分:0)

在iPhone上使用SQLite最简单的方法是使用Sqlite C API的包装器,例如fmdb

例如

NSString* databasePath = //path to where you want to store it on disk
FMDatabase* database = [FMDatabase databaseWithPath:databasePath];
[database open];
[self.database executeUpdate:@"CREATE TABLE List (_id INTEGER PRIMARY KEY, ListId INTEGER UNIQUE, ListName TEXT, nameId INTEGER, FLAG BOOL)"];
[self.database executeUpdate:@"CREATE TABLE User (_id INTEGER PRIMARY KEY, Name TEXT, ListId INTEGER, FOREIGN KEY(ListId) REFERENCES List(ListId))"];

虽然使用低级sqlite库可能有点矫枉过正。 Core Data之类的东西可能会更好,具体取决于您的情况。