Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone:创建支持外键的sqlite数据库_Iphone_Sqlite - Fatal编程技术网

iPhone:创建支持外键的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

我正在开发一个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))",

在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语句中。如果答案对你有帮助,请考虑按下“接受”按钮: