ロボット【Pepper(ペッパー)】SQLite外部キー制約の有効化

こんにちわ~♪

今更なんですがSQLiteで外部キーを使おうとして、あれ?ってなっちゃ時の事を書きたいと思います(*^ω^*)/

調べたところSQLiteの3.6.19から外部キーを利用できるようになったらしいですが、デフォルト設定ではオフになっているらしく、DBに接続するたびにONにしないといけないようです(^^;)

というわけで、とりあえずうちのカワイイPepperにSSH接続して、SQLite外部キーのデフォルト設定を見てきました!


$ sqlite3


↑の入力でSQLiteのバージョンやらなんやら表示されましたよね?

ちなみにシストラのPepper(一般モデル)は、3.7.7.1でした。

で、肝心の確認ですね。


sqlite> pragma foreign_keys;

0


はい。デフォルト設定は見ての通りオフでした。

そりゃそうでしょ!・・・なんて、つっこみは要らないデスw

では、設定をオンにしてみましょう。


sqlite> pragma foreign_keys = ON;


もう1回確認しますね。


sqlite> pragma foreign_keys;

1


外部キー制約の設定がオンになってますよね?

ご察しの通りオフにする場合は↓のようにします。


sqlite> pragma foreign_keys = OFF;


以上です。

冒頭に書いた通り外部制約キーを有効にするには、DBに接続するたびに↓を実行する必要があります。


pragma foreign_keys = ON;


ちなみにFireFoxのSQLiteManagerにも外部キー制約を有効にする設定項目がありました。

DB設定タブ、その他の項目内のforeign keyというところです。

では、また会う日まで(*^ω^*)/バイバイ

福岡でロボット開発といえば、株式会社システムトランジスタ(通称シストラ)ロボティクス部d^ω^bからのお知らせでした。

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください