2012-02-13 5 views
0

iPhoneアプリケーションを開発しています。ここでは、大きなデータをsqlite3データベースに格納する必要があります。iPhone:外部キーがサポートされたsqliteデータベースを作成する

以下の例では、外部キー制約のあるテーブルを作成したいと考えています。どのように私は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))", 

答えて

0

iPhone上でのSQLiteを使用する最も簡単な方法は、fmdbとして、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ライブラリを使用して過剰であってもよい、けれども。あなたの状況によってはCore Dataのようなものが良いかもしれません。

+0

返信いただきありがとうございます。しかし、私はちょうど作成、更新、レコードを読むつもりです。 firefoxでsqlitemanagerを使用してdbを作成することは可能ですか?しかし、私はそれに外国のキーを見ていないよ。 – Getsy

+0

firefox sqliteマネージャで作成する場合は、ページの右側にある[Execute SQL]タブにそれらのSQL文を挿入します。 – DHamrick

+0

ああ、ありがとう!それが正しく機能するはずですか? "Execute SQL"のクエリでFOREIGN KEYを追加すると、そこにも表示されますか? – Getsy

関連する問題