2016-08-04 19 views
0

を最後に変更された行またはIDの行を知っているし、一例で、私は何人かの人々は、挿入を行う更新および削除することが許可されているこのは、私は、MySQL 5.5を使用しているMySQLのテーブルに

+------------+-------------+------+-----+---------+----------------+ 
| Field  | Type  | Null | Key | Default | Extra   | 
+------------+-------------+------+-----+---------+----------------+ 
| idgroups | int(11)  | NO | PRI | NULL | auto_increment | 
| group_id | int(11)  | YES |  | NULL |    | 
| group_name | varchar(45) | YES |  | NULL | 

のようなテーブルを持っていますが、特定の時間内に最後に修正された行または行のIDを知りたい場合

アイデアはありますか?あなたのフィールドがauto_incrementあるので、事前

+0

サンプルデータと期待される結果が参考になります。 – sgeddes

+1

監査のために別のテーブルを作成し、上のテーブルにトリガを置くことができます。 INSERT、UPDATE、またはDELETEの場合、影響を受ける情​​報を含む行を監査表に挿入します。 – Santi

+0

テーブルに 'updated'カラムを追加することができます。それを更新したときにタイムスタンプを入れてください。 – nerdlyist

答えて

-1

おかげで、あなただけの直近に挿入された値を取得するためにidgroupsの最大値を選択することができます。最後に、一般的に修正取得する

select max(idgroups) from tbl 

を追加必要になりますあなたのテーブルに構造。特に、削除している場合は、あなたが最後に削除したものをどこかに保存する必要があります。

+1

最近挿入されたものですが、最近修正されたものはありません。 – Santi

+0

はい、あなたは正しいです! – user6641763

0

私の提案は、2番目のテーブルを作成することです。録画の変更にはedit_historyのようなものです。上記の表の上のgroupsテーブルに、「レコードが挿入、削除、または更新されたときはいつでも、edit_historyテーブルにレコードを作成する」というトリガーを置くことができます。次のように

トリガーを作成することができます。

​​
関連する問題