データベーステーブルには、フラグ( "1" - "0" - 動作していない)とその他のフィールドがあり、同時に/中にあるマシンのさまざまな特性を記述します。条件変更(フラグ変更)に対応する "行"のみを抽出する必要があります。つまり、フラグが最初に "1"(その後、 "1"を含む他のエントリが存在しますが、これにはありません最初のもの)、それが "0"に変化する行(その後に "0"を含む複数のエントリがあるかもしれません)、 "1"に再び変化する行などです。 1つのレコード(つまり、変数S - フラグが "1"に変わったときのこの変数の値とフラグが "0"に変わったときの値)。SQL/MySQLクエリ(フラグ変更を検索)?
0
A
答えて
0
change_handled
という別の列を作成します。トリガーを作成して、フラグの値が変更されたら、change_handled=0
と設定します。
CREATE TRIGGER detect_flag_change BEFORE UPDATE ON my_table
FOR EACH ROW
SET NEW.change_handled = (OLD.change_handled AND (NEW.flag = OLD.flag));
NEW.flag=OLD.flag
条件フラグが更新の一部として変更された場合、値が異なることになるので、等式が偽であることを意味します。次に、change_handledはfalseに設定されます。
OLD.change_handled AND ...
条件は、行が処理されない場合は、change_handledがfalseになるため、フラグを変更せずに行に次のUPDATEが適用されてもfalseのままになります。
この列があると、change_handled
は、偽(0)の行を検索できます。
次に、変更された行で何かをするワーカーアプリケーションがあると思います。そのアプリケーションは、UPDATEを使用してchange_handled=true
を設定して、トランザクション内の行をロックする必要があります。しかし、労働者が作業を終えるまで、その取引をコミットしないでください。そうすれば、作業者が中断された場合、更新がロールバックされ、他の誰かがその世話をすることができます。
関連する問題
- 1. Wordpressで検索クエリを変更する
- 2. Wordpress検索でのクエリの変更
- 3. ctsの最初のパラメータを変更する方法:検索で作成された検索クエリ:検索API?
- 4. フラグを使用した検索機能
- 5. mongodb find $ text検索クエリが変更されました
- 6. Laravel検索クエリ
- 7. フルテキスト検索クエリ
- 8. mysql検索クエリ
- 9. Marklogic検索クエリ
- 10. シェフナイフ検索クエリ
- 11. Mongoose検索クエリ
- 12. モンゴース検索クエリ渡し変数
- 13. MOSS 2007検索センター。検索の範囲を変更する
- 14. 弾性検索パイプライン検索クエリ
- 15. Google検索の検索クエリのデータ
- 16. Twitter:ハッシュタグ検索クエリ
- 17. PHP/MySQL - 検索クエリ
- 18. laravel 5.2検索クエリ
- 19. PHP MySQL検索クエリ
- 20. Gerritの検索クエリ
- 21. 弾性検索クエリ
- 22. 検索MySQLのクエリ
- 23. php mysql検索クエリ
- 24. 速い検索クエリ
- 25. 弾性検索クエリ
- 26. MySQLのクエリ検索
- 27. Firebaseデータベース検索クエリ
- 28. MySQLの検索クエリ
- 29. Sql Linq検索クエリ
- 30. 弾性検索クエリ
サンプルデータを表示できますか? –
最初にどのような順序で?日付フィールドはありますか? – Barmar
リクエストされた結果の例を追加してください –