トランザクションとリスを使用した Golang postgresql クエリ

WBOY
リリース: 2024-02-06 09:54:08
転載
984 人が閲覧しました

使用事务和 squirrel 进行 Golang postgresql 查询

質問内容

squirrelとtransactionの別々の使い方は分かりましたが、併用する方法が分かりません。いつロールバックまたはコミットする必要がありますか? 私の試みは正しいでしょうか?そうでない場合、どこで間違ったのでしょうか...

リーリー

私が理解しているところによると、postgresql でクエリを実行した後にロールバックまたはコミットしようとしています


正解


あなたの努力は素晴らしいです。ただし、この場合 ....runwith(db.repo.getdatabase()) は正しくありません。トランザクション接続 tx を渡す必要があるためです。クエリのデータベース接続としてトランザクション オブジェクトを使用するように squirrel に指示します。

トランザクション接続の代わりにデータベース接続を使用する場合、squirrel クエリはトランザクションの一部になりません。各クエリは個別に実行され、ただちにデータベースに送信されます。

defer ステートメントを使用して rollback ステートメントと commit ステートメントを更新することもできます。これにより、関数が終了する前にトランザクションが適切に処理され、完了することが保証されます。 。

これは更新されたコードです..

リーリー ### お役に立てれば。

こちらも参照

  • database/sql tx - コミットまたはロールバックの検出 李>
  • 遅延を使用する

以上がトランザクションとリスを使用した Golang postgresql クエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!