iPhone:创建支持外键的sqlite数据库
我正在开发一个iPhone应用程序,需要在sqlite3数据库中存储大量数据 我想为下面的一个示例创建带有外键约束的表。如何使用sqlite或以编程方式创建下表 请告知iPhone:创建支持外键的sqlite数据库,iphone,sqlite,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 TEX
"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))",
在iPhone上使用SQLite最简单的方法是使用SQLite C API的包装器,例如 比如说
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库可能有些过分。根据您的情况,类似的方式可能会更好。谢谢您的回复。但是,我只想创建、更新、读取记录。可以在firefox中使用SQLItemManager创建db吗?但是,我没有看到外键。如果您想在firefox sqlite管理器中创建它,只需将这些sql语句放在页面右侧的“执行sql”选项卡中。哦,好的,谢谢!这应该能正常工作,对吗?如果我在“Execute SQL”中的查询中添加外键,也会显示在那里?是的,您需要做的就是将外键放入CREATE TABLE语句中。如果答案对你有帮助,请考虑按下“接受”按钮: