ホームページ > バックエンド開発 > Golang > レコードがまだ存在しない場合にのみ Golang にレコードを挿入するにはどうすればよいですか?

レコードがまだ存在しない場合にのみ Golang にレコードを挿入するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-27 05:36:13
オリジナル
1009 人が閲覧しました

How to Insert Records in Golang Only if They Don't Already Exist?

Golang に存在しないレコードの挿入

Go では、database/sql パッケージを使用してデータベースとの接続を確立し、SQL クエリを実行できます。レコードが存在するかどうかを確認し、存在しない場合はレコードを挿入するには、次の手順に従います。

データベース接続を開いて、機能していることを確認します。

db, err := sql.Open("mysql", "user:password@tcp(hostname:port)/database")
if err != nil {
    // Handle error gracefully
}
err = db.Ping()
if err != nil {
    // Handle error gracefully
}
ログイン後にコピー

SQL クエリを準備して、レコードの存在を確認します:

stmt, err := db.Prepare(`SELECT COUNT(*) FROM table_name WHERE column_name = ?`)
if err != nil {
    // Handle error gracefully
}
ログイン後にコピー

特定のパラメータを使用してクエリを実行します (例: 列として「construction」) value):

var count int
err = stmt.QueryRow("construction").Scan(&count)
if err != nil {
    // Handle error gracefully
}
ログイン後にコピー

count の値を確認します:

  • count が 0 より大きい場合、レコードは存在します。
  • count が 0 の場合、レコードが存在しません。

レコードが存在しない (カウントが 0) 場合は、SQL クエリを準備します挿入用:

stmt, err := db.Prepare(`INSERT INTO table_name (column_name) VALUES (?)`)
if err != nil {
    // Handle error gracefully
}
ログイン後にコピー

挿入クエリを実行します:

_, err = stmt.Exec("construction")
if err != nil {
    // Handle error gracefully
}
ログイン後にコピー

これらの手順に従うことで、Go のデータベースを使用してレコードの存在を効果的に確認し、レコードが欠落している場合は新しいレコードを挿入できます/ SQL パッケージ。

以上がレコードがまだ存在しない場合にのみ Golang にレコードを挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート