targetのデータが変わった・更新されたときに、update_dayをその日時に更新したいと考えています。
フィールドは、field_1, field_2, target, field_4, field_5, update_day, new_day
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
field_1=int型、primary key
field_2=varchar型、
target=float型(7.3)
field_4=boolean型
field_5=text型
update_day=timestamp型、NULL、 default CURRENT_TIMESTAMP、 on update CURRENT_TIMESTAMP
new_day=timestamp型、NOT NULL、 default '0000-00-00 00:00:00'
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
target以外のフィールドのデータが更新されたときにもupdate_dayが更新されてしまいます。
■field_1, field_2, field_4, field_5
■target, update_day, new_day
とテーブルを分けるしか方法がありませんか???
ぐっちゃりしてしまうため極力テーブルを分けたくありません。
No.1ベストアンサー
- 回答日時:
現在on update句で行っている部分をUPDATEトリガーで行うようにすれば実現は可能かと思います。
UPDATEトリガーの中では、target列の更新前と後の値を比較して違ったら更新日時を更新するというロジックを組めばよいでしょう。
ちなみにこんな感じになると思います。
BEGIN
IF NEW.target != OLD.target THEN SET NEW.update_day = now(); END IF;
END
「MySQL UPDATEトリガー」などで検索すれば用例はたくさんありますので、試してみてください。
有難うございます。update_dayをtimestamp型のままで、
・default CURRENT_TIMESTAMP
・on update CURRENT_TIMESTAMP
こちらをなくしました。それで思うようにいきました。
容量が少ないのでtimestamp型を使っていますが、datetime型の方がよいですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
- Visual Basic(VBA) Dateserialで データ抽出 2 2022/06/26 21:07
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Visual Basic(VBA) VBAのフィルター操作 5 2023/08/08 09:48
- 英語 in the fieldってどういう意味でしょうか? 5 2022/12/10 22:45
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- その他(ブラウザ) グーの質問見ようとしたらブラウザ版で 3 2022/03/28 10:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
トランザクション処理
-
クエリObjectをforeachで回す時...
-
MySQLでデータベースにデータin...
-
SQLで返り値が空とでる
-
変数にNULLを代入したい
-
カラムにデータがあるかないか...
-
PHPでいいね機能を作りたいので...
-
予約システムを作りたい
-
エクセルVBAについて
-
VBAをつかってクエリの情報を抽...
-
実行時エラー3131 FROM 句の構...
-
PHP + MySQLを使用して詳細画面...
-
PHPでMY SQLの連想配列をリンク...
-
php データ削除
-
phpでmysqlを使ってデータベー...
-
SQLインジェクション対策
-
アラートでyes noを作りたいです。
-
Q&Aサイトを作成していてURLの...
-
SQLのSUM関数で取得した値を参...
-
連想配列、オブジェクト配列の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
変数にNULLを代入したい
-
phpにて出欠登録管理を作成して...
-
phpでテーブルを作る際変数によ...
-
csvをDBへ読み込んだら、NULLが...
-
SQLで返り値が空とでる
-
ヒアドキュメントでSQLを書く事...
-
php sqlite count 列数取得
-
OracleからAccessへのインポート
-
変数を組み入れたい
-
日またぎの計算
-
Accessへ日付をINSERT
-
任意の値の取得
-
クエリObjectをforeachで回す時...
-
PHPでいいね機能を作りたいので...
-
会員番号等に利用するダブらな...
-
PHP PDOを利用してカラムの削除...
-
SQL CASE 文について
-
phpを使用し、カテゴリー別に表...
-
トランザクション処理
おすすめ情報