こんにちは。
表題の通り、任意の時間と現在時刻を比較して、変更、追加のあったレコードを取得する方法はないでしょうか?
調べた限りでは、テーブルをコピーしておいて比較する方法などはあったのですが、今回は一つのDB全体で変化のあったカラム(無理そうであればテーブル名だけでも良い)を何度も見たく、いちいちコピーするのが冗長なため、時間を指定して変化を取得するSQLがあれば教えていただきたいです。
my sql 5.6
db参照ツール A5M2
DBに関する情報が全くないので具体的にお答えのしようもありませんので、
情報を追加していただけませんでしょうか。
変更、追加があった時間をレコードに持って、現在時刻と比べるとかいう話ではないのでしょうか?
返答が遅くなってしまいすみません。
>変更、追加があった時間をレコードに持って、現在時刻と比べるとかいう話ではないのでしょうか?
上記の通りになります。質問のしかたが悪かったですね。
レコードに変化があった際にそのデータをselectできればよいです。
ごめんなさい、聞き方が回りくどかったです。
DBに関する情報がわからないと答えられないというのは、
質問者様が、DBへの権限をどこまで持っているのかとか、
当該のテーブルの構成はどのようなものであるのかということです。
例えば、テーブルの作りからいじることができる権限があるのなら、
タイムスタンプのカラムでも持って、現在時刻と比べればいいわけです。
DB自体への権限がないのであれば、テーブルの構成でも書かれていれば、
回答をしてくれる方もいるのではないかということです。
ですので、DBやテーブルの情報をできるだけ追加していただけませんでしょうか。
また、ここでは問題の丸投げには回答が得られないので、
少なくとも、自分はこう考えてみたというものは書かれるのがよいかと思います。
きちんと説明できない質問は回答が付きにくいですよ
mysqlにはoracleのflashback queryのような機能がないか?をピンポイントで聞きたいのなら、そう聞かないとダメです
flashback queryはコミット済みのトランザクションを含め、UNDOログから過去のテーブルを復元して参照するような機能です
もし質問がそういうことなら、回答は「mysqlにはない」だと思います
mysqlbinlogコマンドで直接バイナリログを解析して追う方法はないこともないですが、お手軽なものではありません
あなたの回答
tips
プレビュー