いつの間にか外部キー制約が可能に

2011/04/11 | SQLite

普段はあまり使わないSQLiteだったけど、最近ちょっとしたデータ格納手段として使っている(SQLでデータの検索ができるのが便利)。HTML5ではローカルの保存領域として使えるようになったということもあり、これからはSQLiteを使う機会が増えるのは間違いなさそう。

で、SQLiteの外部キー制約。以前は使えなかった(というか定義しても無意味だった)はずだが、3.6.19から使えるようになったとのこと(2009年10月リリースって・・・気づかなさすぎ・・・)。

FireFoxのアドオンSQLite Managerで確認してみた。サーバ上でPHPで作られたSQLiteデータベースをダウンロードして確認。

PRAGMA foreign_keys;

0

どうやらデフォルトでは対応していないらしい。そこで以下のコマンド。

PRAGMA foreign_keys=ON;
PRAGMA foreign_keys;

1

おぉ、これで使えるようになったらしい。

でも、phpinfo()で調べてみると、サーバのPHPで使用しているSQLiteのライブラリのバージョンは3.3.6となっていた。OSはCentOS5.5。標準のRPMパッケージではNGなようだ。うちで借りているVPSやら専用サーバやらは基本的に全てCentOSで、パッケージ管理はyum、標準のリポジトリに頼っている。つまり・・・使えないってことか。あ、共有サーバなら対応してるかも・・・。

コメントを残す


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net