2024 日本 PHP 研討會

PDO::cubrid_schema

(PECL PDO_CUBRID >= 8.3.0.0001)

PDO::cubrid_schema取得請求的結構描述資訊

描述

公開 PDO::cubrid_schema(整數 $schema_type, 字串 $table_name = ?, 字串 $col_name = ?): 陣列

此函式用於從資料庫獲取請求的綱要資訊。如果您想取得特定表格的資訊,必須指定 table_name;如果您想取得特定欄位的資訊,則必須指定 col_name(僅能與 PDO::CUBRID_SCH_COL_PRIVILEGE 搭配使用)。

此函式的結果以二維陣列返回(欄(關聯式陣列)* 列(數值索引陣列))。下表顯示了綱要類型以及基於綱要類型返回的結果陣列的欄結構。

各類型的結果組成
綱要 欄號 欄名
PDO::CUBRID_SCH_TABLE 1 NAME  
  2 TYPE 0:系統表格 1:檢視 2:表格
PDO::CUBRID_SCH_VIEW 1 NAME  
  2 TYPE 1:檢視
PDO::CUBRID_SCH_QUERY_SPEC 1 QUERY_SPEC  
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE 1 ATTR_NAME  
  2 DOMAIN  
  3 SCALE  
  4 PRECISION  
  5 INDEXED 1:已建立索引
  6 NOT NULL 1:不可為空
  7 SHARED 1:共用
  8 UNIQUE 1:唯一
  9 DEFAULT  
  10 ATTR_ORDER base:1
  11 CLASS_NAME  
  12 SOURCE_CLASS  
  13 IS_KEY 1:鍵值
PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHOD 1 NAME  
  2 RET_DOMAIN  
  3 ARG_DOMAIN  
PDO::CUBRID_SCH_METHOD_FILE 1 METHOD_FILE  
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE 1 CLASS_NAME  
  2 TYPE 0:系統表格 1:檢視 2:表格
PDO::CUBRID_SCH_CONSTRAINT 1 TYPE 0:唯一 1:索引 2:反向唯一 3:反向索引
  2 NAME  
  3 ATTR_NAME  
  4 NUM_PAGES  
  5 NUM_KEYS  
  6 PRIMARY_KEY 1:主鍵
  7 KEY_ORDER base:1
PDO::CUBRID_SCH_TRIGGER 1 NAME  
  2 STATUS  
  3 EVENT  
  4 TARGET_CLASS  
  5 TARGET_ATTR  
  6 ACTION_TIME  
  7 ACTION  
  8 PRIORITY  
  9 CONDITION_TIME  
  10 CONDITION  
PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGE 1 CLASS_NAME / ATTR_NAME  
  2 PRIVILEGE  
  3 GRANTABLE  
PDO::CUBRID_SCH_PRIMARY_KEY 1 CLASS_NAME  
  2 ATTR_NAME  
  3 KEY_SEQ base:1
  4 KEY_NAME  
PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS / PDO::CUBRID_SCH_CROSS_REFERENCE 1 PKTABLE_NAME  
  2 PKCOLUMN_NAME  
  3 FKTABLE_NAME base:1
  4 FKCOLUMN_NAME  
  5 KEY_SEQ base:1
  6 UPDATE_ACTION 0:串聯 1:限制 2:無動作 3:設為空值
  7 DELETE_ACTION 0:串聯 1:限制 2:無動作 3:設為空值
  8 FK_NAME  
  9 PK_NAME  

參數

schema_type

您想知道的綱要類型。

table_name

您想知道綱要的表格。

col_name

您想知道綱要的欄位。

回傳值

處理成功時,包含綱要資訊的陣列;

處理失敗時,則為 FALSE

範例

範例 #1 PDO::cubrid_schema() 範例

此範例顯示如何取得表格 game 的主鍵和外鍵。

<?php
$pk_list
= $dbh->cubrid_schema(PDO::CUBRID_SCH_PRIMARY_KEY, "game");
print_r($pk_list);

$fk_list = $dbh->cubrid_schema(PDO::CUBRID_SCH_IMPORTED_KEYS, "game");
print_r($fk_list);
?>

以上範例將輸出

Result:
Array
(
    [0] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => athlete_code
            [KEY_SEQ] => 3
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [1] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => event_code
            [KEY_SEQ] => 2
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [2] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => host_year
            [KEY_SEQ] => 1
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

)
Array
(
    [0] => Array
        (
            [PKTABLE_NAME] => athlete
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => athlete_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_athlete_code
            [PK_NAME] => pk_athlete_code
        )

    [1] => Array
        (
            [PKTABLE_NAME] => event
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => event_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_event_code
            [PK_NAME] => pk_event_code
        )

)

新增註釋

使用者提供的註釋

此頁面沒有使用者提供的註釋。
To Top