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遷移、ターゲット疑似クラス)
プロジェクトシナリオ:ページ表示には <ul> タグがあります。リストデータを動的に表示...
Linux に Node.js をインストールする方法は 2 つあります。1 つは簡単で、解凍して使...
障害に遭遇すると、障害の根本的な原因を考えるのではなく、障害を解決する方法を考えることがよくあります...
目次起源仮想メモリページングとページテーブルメモリのアドレス指定と割り当て関数プロセスメモリ管理デー...
私が初めて Web 開発を独学で学んだ頃は、いわゆる DIV/CSS レイアウトはなく、テーブル レ...
目次1. データベース設計2. フロントエンドページ3. 完全なデモフロントエンド開発では、カスケー...
ほとんどのナビゲーション バーは、下の図に示すように水平に配置されていますが、これはどのように実現さ...
Mysqlトランザクション操作の失敗を解決する方法トランザクションの原子性: トランザクションは、デ...
コードは次のようになります。 // 配送先住所の平行四辺形の線のスタイル <view clas...
グローバル ID を生成する方法は多数あります。ここでは簡単な解決策を紹介します。MySQL の自動...
ant-design-vue は Ali iconfont icons の使用をカスタマイズします\...
1. VMwareのダウンロードとインストールリンク: https://www.jb51.net/s...
目次序文オプション1:オプション2:オプション3:オプション4(最終的に採用されたオプション):要約...
Dockerfileの作成expressによって自動的に作成されたディレクトリを例にとると、ディレク...
プロジェクト要件: 製品ツリー ノードをクリックすると、そのノードのすべての親ノードが取得され、表に...