テーブルのデータから insert 文を自動的に作成する場合、列が数値かそれ以外かで処理を分ける必要がありますが、データ型は数値で取得されるので、定数の意味を確認する必要があります。 その結果、基本的には 0 〜 9 が数値型であり(6と7は特殊なので対応が必要です)、MySQL 5.0.3 以降という条件付で 246 と 16 が数値として扱われます。 ※ 6 は DEFAULT NULL と言う意味として書かれていますが、だとしたら使われる事は無いはずです。 ※ 7 は TIMESTAMP なので、INSERT の時は再現必要で、DATETIME と同様に扱うべきものと思われます。 BIT 型は特殊ですが、値のセット方法としては数値でいいようです ▼ PHP マニュアルの参照リンク 定義済み定数 mysqli_result::fetch_field_direct mysqli_result::fetch_fields ▼ 定数の実際の値と意味
DECIMAL | 0 | |
NEWDECIMAL | 246 | DECIMAL or NUMERIC(MySQL 5.0.3 以降) |
BIT | 16 | (MySQL 5.0.3 以降) |
TINY | 1 | TINYINT |
SHORT | 2 | SMALLINT |
LONG | 3 | INT |
FLOAT | 4 | |
DOUBLE | 5 | |
NULL | 6 | |
TIMESTAMP | 7 | |
LONGLONG | 8 | BIGINT |
INT24 | 9 | MEDIUMINT |
DATE | 10 | |
TIME | 11 | |
DATETIME | 12 | |
YEAR | 13 | |
NEWDATE | 14 | DATE |
INTERVAL | 247 | |
ENUM | 247 | |
SET | 248 | |
TINY_BLOB | 249 | |
MEDIUM_BLOB | 250 | |
LONG_BLOB | 251 | |
BLOB | 252 | |
VAR_STRING | 253 | VARCHAR or BINARY |
STRING | 254 | |
CHAR | 1 | TINYINT |
GEOMETRY | 255 |
関連する記事
参考 MySQL TIMESTAMP / MySQLTutorial
|
【PHP + データベースの最新記事】
- PDO MySQL のバインドを使用した標準的な記述( ロリポップ )
- PHP で MySQLをテストする為のソースコード
- PHP で ODBC 関数を使って MS Access( データベース )にアクセスして結果を JSON 文字列として出力する
- Windows 環境の MySQL + PHP で、ODBC ドライバを使用してデータを取得する場合の3パターン
- PHP : SQLインジェクション対策付きの、MySQL のデータを JSON で返す自家製 API テスト用のテンプレート3パターン
- PHP で 自家製 API を作成して jQuery の簡単なコードで更新処理を行うサンプル
- PHP : PIPES_AS_CONCAT を使用して、CSV 作成処理をサーバの負荷にして高速に WrodPress のデータを Excel で読み込める CSV として保存する処理
- PHP : WrodPress のデータを insert SQL で保存する処理
- PHP : WrodPress のデータを Excel で読み込める CSV として保存する処理
- PHP から MySQL の簡易的なバックアップを取得する( 但し、DBサーバがディスクへの書き込み権限を持っている必要があります )
- PHP : JSON 文字列で定義されたフォーマットを元に、そのフォーマットにセットされた配列を使って insert と update の SQL 文を自動作成。
- PHP : PDO のエラー処理
- PHPのマニュアルにある、SQLインジェクション攻撃の例
- PHP : SQLite3 を PDO の ODBC 経由で読み込み
- PHP : 5.3 / 5.2.11 用共用 sqlite3(日本語テーブル) 読み込み
- PHP : Oracle を処理する COM を使ったクラス