メタデータの列SQLite.phpがv2で増えたファイルです。8(PHP5)
質問
かつてメタデータ/制約(主キーやnullの場合せ"の各欄にSQLite.phpがv2で増えたファイルです。8テーブルを使用PHP5(mysql_fetch_fieldのためのMySql)?
sqlite_fetch_column_types
(OO: $db->fetchColumnTypes
のみを取得すカラム名とデータ型:
http://dk.php.net/manual/en/function.sqlite-fetch-column-types.php
SQLITE_MASTERの情報がないとして可変となります。例:
SELECT name FROM SQLITE_MASTER;
...SQLITE_MASTERのみ出力の配列をこのように構成(.phpがv2で増えたファイルです。8):
[type] => table
[name] => foo
[tbl_name] => foo
[rootpage] => 3
[sql] => CREATE TABLE foo ( id INTEGER PRIMARY KEY, name CHAR(255) )
(とは何か"rootpage"?)
解決
しなければいけなかったことを実施する describeTable()
法SQLiteに在籍した時期に、Zend Framework.SQLiteのない方は大変おいしくいただけました詳細な情報メタデータを指すものとします。
かったため、下記のUrlのクエリ:
PRAGMA tableinfo( <tablename> );
見 http://www.sqlite.org/pragma.html, 下のPragmasるクエリのデータベースのスキーマ."
結果セットから返されたこのクエリは、カラム:
- カラムの位置(整数)
- カラム名(string)
- データタイプ(string)
- nullable(0)vs.nullでない場合(1)
- デフォルト値(string)
- 主キー(1)
示できるPHPのコードをダウンロードZend Frameworkとのみクラス Zend_Db_Adapter_Pdo_Sqlite
, 方法 describeTable()
.また、ソースオンラインのコードリポジトリブラウザでframework.zend.com (こくない).
FWIWこのようにはいきません mysql_fetch_field()
.このメソッドが返すメタデータ約結果セットを与える恐れがあるため、同じものとしてメタデータ報を表示します。
他のヒント
私のために働いた例のコードスニペット...ビルKarwinのソリューションを説明するために(それは私自身の質問に答えるための試みではありません!)
$db = new SQLiteDatabase("db.sqlite2");
$rs = $db->arrayQuery("PRAGMA table_info( 'my_table' );");
print_r($rs);