get_table_schema

  get_table_schema( [string $table_name] )

テーブル構造(スキーマ情報)を取得します。

パラメータ

$table_name

文字列としてスキーマ情報を取得したいテーブル名 table_name を指定します。
table_name の指定がない場合は、CDBT管理コンソールで現在選択されているテーブルが指定されます。

返り値

array( bool, string[, array] )
スキーマ情報を含む配列を返します。第1要素に処理結果を示す Boolean 値が入ります。スキーマ情報が正常に取得された場合は TRUE が、対象テーブルが存在しなかった場合は FALSE が入ります。第2要素には、正常処理時にはテーブル名が返り、エラーの時は処理ステータスのメッセージ文字列が入ります。正常処理時のみ第3要素が返ります。第3要素はスキーマ情報の配列となります(下記参照)。スキーマ情報配列はテーブル内の各カラムの構成情報配列をネストしています。


  [2] => array(
    "<カラム名>" => array(
      "logical_name" => string 論理名(カラムコメント), 
      "max_length" => int 最大文字数, 
      "octet_length" => int 最大バイト数, 
      "not_null" => boolean NULL不可の時 TRUE , 
      "default" => string デフォルト値(ない場合は NULL ), 
      "type" => string カラムタイプ, 
      "type_format" => string カラムタイプ書式, 
      "primary_key" => boolean プライマリキーかどうか, 
      "column_key" => string カラムキー(ない場合は "" ), 
      "unsigned" => boolean UNSIGNED属性があるかどうか, 
      "extra" => string その他のオプション 
    ),
    ... 
  )

変更履歴

バージョン 内容
1.0.0

使用例

<?php
global $cdbt;
$table_name = "prefix_tablename";
$result = $cdbt->get_table_schema($table_name);
if ($result[0]) {
    printf("%s.tbl has %d columns.n", $result[1], count($result[2]));
    foreach ($result[2] as $column_name => $column_schema) {
        echo "$column_name : {$column_schema['type_format']}n";
    }
}