MySQLは独立した書き込み分離を設定します。コードに次のものを書くと問題が発生する可能性があります //最初に入力します this.insert(obj); // 再度クエリを実行します。Object res = this.selectById(obj.getId()); 解像度: null; オンラインでの落とし穴: 読み取りと書き込みの分離を行った後、メソッドを再利用して ID のみを渡すシナリオがあります。後続の処理のために、データベース内のオブジェクトを直接見つけることができます。その結果、見つけることができません。さまざまなトランザクション分離レベルがチェックされました。最終的に、読み取りと書き込みの分離の問題であることが判明したため、アイデアを変更して実装します。 追加知識: MySQL INSERT挿入条件判定:存在しない場合は挿入する 多くの場合、SQL でバッチ挿入を実行する必要があり、レコードが存在しない場合は挿入し、存在する場合は挿入しないことが求められます。 INSERT ステートメントを使用するのはいかがでしょうか? 通常の INSERT 挿入では、重複レコードが挿入されないようにするには、特定のフィールドに対してのみ一意制約を作成できます。 一意の制約を作成せず、1 つの INSERT INTO ステートメントだけで実現できるソリューションはありますか? 回答: INSERT INTO IF EXISTS を使用します。具体的な構文は次のとおりです。 テーブルに挿入(フィールド1、フィールド2、フィールドn) 'フィールド1'、'フィールド2'、'フィールドn' を選択 デュアルから WHERE NOT EXISTS(SELECT フィールド FROM テーブル WHERE フィールド = ?) 例: (order_id、operator、oper_date、memo) に INSERT INTO します。 '3'、'onion3'、'2017-11-28'、'テスト3' を選択 DUALより where not exists(where operator='onion3' and memo = '测试3' から order_id を選択); MySQLの読み取り/書き込み分離により挿入後にデータを選択できない問題を解決する上記の記事は、編集者が皆さんと共有する内容のすべてです。 皆さんの参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: docker run後、ステータスは常にExitedになります
>>: モバイル端末のジャンプ問題を解決する(CSS遷移、ターゲット疑似クラス)
このプロジェクトでは、環境を構築するために Docker コンテナを使用します。Dockerfile...
目次トリガーとは何かトリガーを作成する表は次のようになります。さらにいくつかの単語を挙げます。制限と...
HTML コード内の連続するスペースまたは空白行 (改行) はすべて 1 つのスペースとして表示され...
前回の記事では、MySQL 5.7でルートパスワードを忘れた場合と、MySQL 5.7でルートパスワ...
01. コマンドの概要tr コマンドは、標準入力からの文字を置換、圧縮、削除できます。ある文字セット...
前回の記事「Docker コンテナの UID と GID を理解する」では、Docker コンテナ内...
要件は、製品の評価データを渡すことであり、ページには対応する星の数が表示されます。 1. 異なる評価...
少し前に、製品バージョンをテスト用にテスターに提出したのですが、テスト結果はまったく予想外のもの...
MySQL のバージョン番号は 5.7.28 です。テーブル A には 390 万件のレコードがあり...
トリガーにより、ステートメントの実行前または実行後に他の SQL コードを実行できます。トリガーは、...
ZooKeeperとはZooKeeper は、分散アプリケーションに効率的で可用性の高い分散調整サ...
昨日 HTML を少し学んだばかりで、JD.com の検索バーを作るのが待ちきれませんでした。 作っ...
まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...
このチュートリアルでは、参考までにMySQL 8.0.19のインストールチュートリアルを共有します。...
水平方向では、テーブルの配置を左、中央、右に設定できます。基本的な構文<テーブル配置=&quo...