- Custom DataBase Tables
- CDBT Version 1.x
- メソッド・リファレンス
- create_table
create_table
create_table( array $table_data )
テーブルを作成します。内部処理としてテーブルの存在確認を行うため、事前に check_table_exists() を行う必要はありません。
パラメータ
$table_data
作成するテーブルの
table_data の指定がない、もしくは table_data 内に
CREATE TABLEのSQL文を定義した sql キーを持つ配列を指定します。table_data の指定がない、もしくは table_data 内に
CREATE TABLEのSQL文定義要素である sql キーがない場合はエラーとなります。
返り値
array( bool, string )
テーブル作成処理の結果を含む配列を返します。第1要素に処理結果を示す Boolean 値が入ります。正常にテーブルが作成された場合は TRUE が、テーブル作成に失敗したり、作成対象テーブルがすでに存在している場合などは FALSE が入ります。第2要素には、処理ステータスのメッセージ文字列が入ります。
変更履歴
| バージョン | 内容 |
|---|---|
| 1.0.0 | – |
| 1.1.0 | 内部処理のテーブル存在確認部分のバグを修正 |
使用例
<?php
global $cdbt;
$new_table_data = array(
"table_name" => "new_table",
"sql" => "CREATE TABLE new_table (
`ID` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`account_name` varchar(200) NOT NULL COMMENT 'Account Name',
`gender` enum('male','female') NOT NULL COMMENT 'Gender',
`birth_year` year(4) COMMENT 'Birth year',
`birth_month` int(2) unsigned COMMENT 'Birth month',
`birth_day` int(2) unsigned COMMENT 'Birth day',
`password` varchar(100) NOT NULL COMMENT 'Password',
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Created date',
`updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Updated date',
PRIMARY KEY (`ID`),
INDEX index_1 (`account_name`)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4
COMMENT='New sample table' ;"
);
$result = $cdbt->create_table($new_table_data);
echo $result[1];