• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:TIMESTAMPについて)

TIMESTAMPについて

このQ&Aのポイント
  • MySQLを用いて会員管理システムを構築しており、仮登録者の本人確認が取れた時点で、本登録者テーブルへデータをコピーする際、本登録日時を計算する方法が分からない。
  • 現在のSQL文では、仮登録者テーブルのデータを本登録者テーブルへコピーするだけで、本登録日時を計算する機能は備わっていない。
  • 質問者は、仮登録日時と本登録操作日時を合算して本登録日時を計算し、WHERE句で実行できるのか、または別の方法があるのかを知りたい。

質問者が選んだベストアンサー

  • ベストアンサー
  • zionic
  • ベストアンサー率39% (31/79)
回答No.3

>selectとinsertを二つに分けるという形を取るのであれば、現在の構文を応用させるのではなく、 >テーブルのコピー時の【 INSERT INTO 】と【 SELECT * FROM 】を独立させるという事なのでしょうか? そのつもりで、書いていたんですが、分けなくてもいいのかな?と今頃思いました。 すこし、文が長くなってしまうかもしれませんが「INSERT INTO TBL_USER SELECT 項目1, 項目2, ...」といった感じで、本登録以外は項目を指定して、本登録の項目のところだけnow()とかしてみたらどうでしょうか?

nazal2010
質問者

お礼

度々ご回答をいただき、誠にありがとうございます。 >「INSERT INTO TBL_USER SELECT 項目1, 項目2, ...」といった感じで なるほど、了解いたしました。 この様な感じでSQL文を書けばいいのですね。 頑張って構築していこと思います。 この度は、ご親切にどうもありがとうございました。

その他の回答 (2)

  • zionic
  • ベストアンサー率39% (31/79)
回答No.2

SelectとInsertを二つに分けるっての方法はだめなんですか? Insert前に仮登録テーブルから必要な項目だけ取得しておいて、 「本登録日時」項目だけnow()にするとか。

nazal2010
質問者

お礼

ご回答をいただき、大変感謝いたします。 >SelectとInsertを二つに分けるっての方法はだめなんですか? 現在、この様な構文になっております。 ---------------------------------------------------------------- // 本登録するデータを取得する if (count($_POST) > 0) { $number = $_POST["number"]; // データが送信されたときはデータを本登録する if (strlen($_POST["number"]) > 0) { // データを本登録する $sql = "INSERT INTO user_table SELECT * FROM user_table_2 WHERE (number = ".intval($number).");"; mysql_query($sql, $conn) or die("<font color=red>このユーザは、既に本登録されています。</font>"); print "<font color=red>number【 $number 】を本登録テーブルへコピーしました。</font><br><br>\n"; } } // データを取り出す $sql = "SELECT number, user_id, pass_word, usr_name, dt FROM user_table_2 ORDER BY number"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); // 取り出したデータを表示する //この後は、tableタグ等で表としてデータを表示しております。 ---------------------------------------------------------------- >「本登録日時」項目だけnow()にするとか。 すみません。色々と試行錯誤してみたのですが、正常にinsert(テーブルのコピー)がされず、 die("データ抽出エラー")が返ってしまいます。。。 selectとinsertを二つに分けるという形を取るのであれば、現在の構文を応用させるのではなく、 テーブルのコピー時の【 INSERT INTO 】と【 SELECT * FROM 】を独立させるという事なのでしょうか? 何卒厚かましいお願いかと存じますが、今ひとつご教授いただけますでしょうか? どうぞよろしくお願いいたします。

noname#124020
noname#124020
回答No.1

now() を使えばよさげなんですが・・・日時同士の足し算ってのがイマイチわからない?

nazal2010
質問者

お礼

ご回答をいただき、大変感謝いたします。 そうなんですよね、now() は仮登録時には仕様しているのですが、 仮登録日時と本登録日時の差分を求めなければいけないのかなと 思いまして・・・ とりあえず色々試してみますので、出来れば具体的な構文を アドバイスしていただけると大変助かります。 この度は、お忙しい中ありがとうございます。

関連するQ&A