MYSQLにて(PHPMYADMIN上でテスト)
●レコード挿入(追加・新規作成)時は、
「Pt_create」と「Pt_update」の2つのフィールドに自動で現在時刻を作成
●レコード編集時は
「Pt_update」のみ自動で現在時刻を上書き
というありがちで申し訳ないですが、実行したいです。
現在調べたところ、
一番スマートでない方法は、
*******************************
Pt_createのほうに、種別:DATETIME
Pt_updateのほうに、種別:DATETIME
PHP側にて、$today = date("Y-m-d H:i:s");を取得して、
新規作成時・・・
$sql = INSERT INTO (`Pt_create`,`Pt_update`) VALUES ('".$today."','".$today."')・・
編集時・・・
$sql = UPDATE SET Pt_update= '".$today."'・・
*******************************
ですよね?
できたらSQLのほうで自動でやれるだけやってほしいのですが、
今は、
*******************************
Pt_createのほうに、種別:DATETIME
Pt_updateのほうに、種別:TIMESTAMP、属性:on update CURRENT_TIMESTAMP
PHP側にて、$today = date("Y-m-d H:i:s");を取得して、
新規作成時・・・
$sql = INSERT INTO (`Pt_create`) VALUES ('".$today."')・・
*******************************
ここまで省略できました。
これが限界でしょうか。
種別:TIMESTAMPを2つ設置したらうまく動作しなかったもので。
No.2ベストアンサー
- 回答日時:
えっと、省略であれば後者でいいと思います。
ただ、timestmpとdatetimeはどちらも日付型で似たような物すが、厳密に言うと全く別の物です。
まず、サポートしている範囲が違います。
timestmp:'1970-01-01 00:00:00' ~ 2037 年の一定の時点
datetime:'1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'
さらには消費バイトも違います。timestmpは4バイトでdatetimeは8バイト
もし、RDBMSに依存しないような作りにするのであればtimestmp型を使うのがいいですが・・
MySQLのtimestmpは特殊仕様なので、MySQLでは私はdatetime型を使ってます。timestmpは楽ですが・・MySQLが自動でやってくれちゃうので想定外とかありそうで怖いので・・
なので、前者の方法で突っ込むのが私のやり方ですね。
新規作成時・・・
$sql = INSERT INTO (`Pt_create`,`Pt_update`) VALUES (now(), now())・・
編集時・・・
$sql = UPDATE SET Pt_update= now()
ありがとうございます。
タイムスタンプが特殊仕様とはどういうことでしょう。
前者が遠回りなようで、実装されている人もいることをしり新たな発見でした。
どちらにしようか考えて見ます。
DATETIMEだとバイト数が2倍なのですね。
大規模DBの構築となると関係してきそうですね。
はやくそんなシステムを作る仕事ができたらいいですけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コメントが消えてしまいます
-
接続ができません
-
mysqlがインストールされている...
-
MySQLカラム名は日本語と英数字...
-
postgreSQLのデータ型
-
show warningsのファイル出力方...
-
プライマリーキーの昇順でソー...
-
RPMのmysqlとmysql-serverの違い
-
VBAで変数内に保持された二次配...
-
SQL開発環境ソフトウェアである...
-
エクセルで連勤チェックをした...
-
列数が多いと結果が行単位に改...
-
ODP.NETのバージョン確認
-
like句を使って日本語を検索す...
-
Usage: \\.<filename> | sourc...
-
ERROR 1045 (28000) (using pas...
-
MYSQLサービス停止時にWindows...
-
MySQLのfield数の上限について
-
「・」中点が入った文字列を条...
-
さくらのレンタルサーバで文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【php+mysql】mysqlのレコード...
-
phpからinsertできない
-
PHP+MySQLによるINSERTについて
-
コメントが消えてしまいます
-
F5対策 sql発行ページにて
-
PHP+MySQLでデータ登録がうまく...
-
.sqlのファイルをそのままコマ...
-
MySQLで、INSERT文でエラー
-
どうしても、%$keyword%でひっ...
-
mySQLで複雑な演算
-
insert into $DB (data1, data2...
-
SQLiteについて
-
PEARでレコード数の取得
-
my sqlはどこにあるのか?
-
SQLで取得したフィールドをSQL...
-
updateがうまくできない。
-
接続ができません
-
ODP.NETのバージョン確認
-
副問合せにLIKE文を使う方法は...
-
SQLのVARCHARとVARCHAR2の違い
おすすめ情報