mysql_query()で返された結果$resultに対して
$field = mysql_fetch_field($result)で
フィールドの情報を取得したときに、
$field->typeで、データのタイプ(=型?)が参照できますが、
MySQLのcreate tableで指定した型とは同一ではありません。
このタイプにはどんな種類があるか教えてください。
現状では、int,string,blob,realなどがあることが分かっています。
MySQLのcreate tableで指定した型と
mysql_fetch_field()で取得した->typeとの
対応表が載っているURLがあれば最高です。
よろしくお願いします。
phpのマニュアル
http://jp.php.net/manual/ja/function.mysql-fetch-field.php
http://jp.php.net/manual/ja/function.mysql-field-type.php
によると,以下のような対応になるみたいです.
MYSQL側の型 | $field->typeの値 |
CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET | string |
TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BIGINT | int |
FLOAT, DOUBLE, DECIMAL, NUMERIC | real |
TIMESTAMP | timestamp |
YEAR | year |
DATE | date |
TIME | time |
DATETIME | datetime |
TINYBLOB, MEDIUMBLOB, LONGBLOB, BLOB | blob |
見当たりません。
mysql_fetch_field()
で取得した結果から、->typeで参照できるデータの型です。
MySQLのフィールドがfloat型の場合、
mysql_fetch_field()の結果では
realというデータ型が返ってきます。
この種類を知りたいのです。
http://www.javadrive.jp/mysql/datatype/index.html
また、CASTをSQL文で使うことで型を指定することが出来ます
例:SELECT CAST(id as char) FROM test;
はい。
それで・・・・・?
指定することが出来て、
それで、どうなるのですか?
phpのマニュアル
http://jp.php.net/manual/ja/function.mysql-fetch-field.php
http://jp.php.net/manual/ja/function.mysql-field-type.php
によると,以下のような対応になるみたいです.
MYSQL側の型 | $field->typeの値 |
CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET | string |
TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BIGINT | int |
FLOAT, DOUBLE, DECIMAL, NUMERIC | real |
TIMESTAMP | timestamp |
YEAR | year |
DATE | date |
TIME | time |
DATETIME | datetime |
TINYBLOB, MEDIUMBLOB, LONGBLOB, BLOB | blob |
おー!!!!!
すごいですね!
マニュアルも、見たは見たんですが、
mysql_fetch_field()のところばっかり読んでました。
非常に役に立つ回答をいただきました。
ありがとうございます!
丁寧な表までいただいて感激です。
がんばります!
おー!!!!!
すごいですね!
マニュアルも、見たは見たんですが、
mysql_fetch_field()のところばっかり読んでました。
非常に役に立つ回答をいただきました。
ありがとうございます!
丁寧な表までいただいて感激です。
がんばります!