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ランキング
-
MySQLでデータベースにデータin...
-
検索結果が多い時の分割(件数...
-
日またぎの計算
-
PHP/HTMLページ印刷について
-
csvをDBへ読み込んだら、NULLが...
-
重複データをカウントするのに...
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
Pro*Cの構文エラー
-
dbに登録したデータをphpのプル...
-
<VB.NET>INSERT文でDBにデータ...
-
ASPでRecordCountが使用でき...
-
SQL文が実行できません
-
VBA処理追加 こちらでご教示頂...
-
in 'where clause'のエラーの理由
-
PHP4でのSmarty派生クラスの定...
-
python pandas 行ごとに列名(...
-
「mysqlclient」の事が分からな...
-
OR検索を実装したい
-
XAMPPで画面が真っ白になります。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
変数にNULLを代入したい
-
phpにて出欠登録管理を作成して...
-
phpでテーブルを作る際変数によ...
-
csvをDBへ読み込んだら、NULLが...
-
SQLで返り値が空とでる
-
ヒアドキュメントでSQLを書く事...
-
php sqlite count 列数取得
-
OracleからAccessへのインポート
-
変数を組み入れたい
-
Accessへ日付をINSERT
-
任意の値の取得
-
日またぎの計算
-
PHPでいいね機能を作りたいので...
-
クエリObjectをforeachで回す時...
-
PHP PDOを利用してカラムの削除...
-
会員番号等に利用するダブらな...
-
access → Oracleへのデータ移...
-
トランザクション処理
-
SQL CASE 文について
おすすめ情報