ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:2007panda MySQLのTimestamp(14)型のフィールドにYYYY/MM/DD hh:mm形式のデータをインサートするには
困り度:
  • 困っています
MySQLのTimestamp(14)型のフィールドに
YYYY/MM/DD hh:mm形式のデータをインサートするには
どのようにしたらよいのでしょうか?

MySQL の
Timestamp(14)型(YYYY-MM-DD hh:mm:ss)のフィールドに
YYYY/MM/DD hh:mm 形式のデータ(ssに該当するデータがない)を
インサートするには、
PHPでどのようにしたらよいのでしょうか?
できれば、インサートの際にssに自動的に00をつけたいです。

現在、PHPでinsert文を実行すると、データの桁数が足りないため、
フィールドの値は、0000-00-00 00:00:00になってしまいます。

同じ形式(YYYY/MM/DD hh:mm)のデータをphpMyAdminで
インポートすると、自動的にssに00がつき、
YYYY-MM-DD hh:mm:ss(例 2009-10-20 12:10:00)
となってくれます。

PHPでもphpMyAdminと同じ処理をしたいのですが、
インターネットで検索してもやり方が見つからず、
どのようにしたらよいのか、わかりません。。。

インサートするデータサイズが83MBと大きいので、
PHPで処理したいと思っています。
(phpMyAdminは8MBまでなので)

ご存知の方がいましたら、教えていただけると、
助かります。m(_ _)m

レンタルサーバー:さくら
インサートするファイル:CSVファイル
PHP 5.2.x
MySQL 5.1
phpMyAdmin 3.1.3.1
質問投稿日時:09/10/20 17:46
質問番号:5382575
この質問に対する回答は締め切られました。

回答

良回答20pt

回答者:yambejp >データの桁数が足りないため、
>フィールドの値は、0000-00-00 00:00:00になってしまいます。

そんなことないと思いますが・・・

>phpMyAdminで

自動的には00は付かないはずですが・・・

なにか勘違いがあるとは思いますがとりあえずPHPで整形するなら
date("Y-m-d H:i:s",strtotime($str))で処理してみては?
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:09/10/20 18:16
回答番号:No.1
この回答へのお礼こんにちは。

早速、回答いただき、ありがとうございました。

インサートする「ss」が足りないデータに
:00を手入力で追加してテストしたところ、
ちゃんとMySQLのフィールドの値が
2009-10-20 12:10:00(例)YYYY-MM-DD hh:mm:ss
になったので、
すっかりデータの桁数が足りないためだと
思っていました。。。(^_^;)

教えていただいた方法で早速、挑戦します!
ありがとうございました。m(_ _)m