php8.5
Home/ Manual/ pdo_cubrid / pdo_overloaded/ PDO::cubrid_schema

PDO::cubrid_schema

PHP function Edit on GitHub ✎

(PECL PDO_CUBRID >= 8.3.0.0001)

Get the requested schema information

Description

PDO::cubrid_schema(int $schema_type, [string $table_name], [string $col_name]): array

This function is used to get the requested schema information from database. You have to designate table_name, if you want to get information on certain table, col_name, if you want to get information on certain column (can be used only with PDO::CUBRID_SCH_COL_PRIVILEGE).

The result of this function is returned as a two-dimensional array (column (associative array) * row (numeric array)). The following tables shows types of schema and the column structure of the result array to be returned based on the schema type.

SchemaColumn NumberColumn NameValue
PDO::CUBRID_SCH_TABLE1NAME
2TYPE0:system table 1:view 2:table
PDO::CUBRID_SCH_VIEW1NAME
2TYPE1:view
PDO::CUBRID_SCH_QUERY_SPEC1QUERY_SPEC
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE1ATTR_NAME
2DOMAIN
3SCALE
4PRECISION
5INDEXED1:indexed
6NOT NULL1:not null
7SHARED1:shared
8UNIQUE1:unique
9DEFAULT
10ATTR_ORDERbase:1
11CLASS_NAME
12SOURCE_CLASS
13IS_KEY1:key
PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHOD1NAME
2RET_DOMAIN
3ARG_DOMAIN
PDO::CUBRID_SCH_METHOD_FILE1METHOD_FILE
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE1CLASS_NAME
2TYPE0:system table 1:view 2:table
PDO::CUBRID_SCH_CONSTRAINT1TYPE0:unique 1:index 2:reverse unique 3:reverse index
2NAME
3ATTR_NAME
4NUM_PAGES
5NUM_KEYS
6PRIMARY_KEY1:primary key
7KEY_ORDERbase:1
PDO::CUBRID_SCH_TRIGGER1NAME
2STATUS
3EVENT
4TARGET_CLASS
5TARGET_ATTR
6ACTION_TIME
7ACTION
8PRIORITY
9CONDITION_TIME
10CONDITION
PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGE1CLASS_NAME / ATTR_NAME
2PRIVILEGE
3GRANTABLE
PDO::CUBRID_SCH_PRIMARY_KEY1CLASS_NAME
2ATTR_NAME
3KEY_SEQbase:1
4KEY_NAME
PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS / PDO::CUBRID_SCH_CROSS_REFERENCE1PKTABLE_NAME
2PKCOLUMN_NAME
3FKTABLE_NAMEbase:1
4FKCOLUMN_NAME
5KEY_SEQbase:1
6UPDATE_ACTION0:cascade 1:restrict 2:no action 3:set null
7DELETE_ACTION0:cascade 1:restrict 2:no action 3:set null
8FK_NAME
9PK_NAME

Parameters

schema_type

Schema type that you want to know.

table_name

Table you want to know the schema of.

col_name

Column you want to know the schema of.

Return Values

Array containing the schema information, when process is successful;

FALSE, when process is unsuccessful

Examples

A PDO::cubrid_schema() example

This example shows how to get primary key and foreign keys of table game.

php
<?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);
?>

The above example will output:

output
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
        )

)

Source: reference/pdo_cubrid/pdo_overloaded/cubrid-schema.xml · from the official PHP manual (php/doc-en)