Golang でレコードの存在を確認し、存在しない場合は挿入
目的は、データベースにレコードが存在するかどうかを確認し、挿入することです。存在しない場合はそれ。 Golang でこれを実現するには、次のようなアプローチがあります。
存在を確認するには、指定されたクエリの行を返す QueryRow 関数を使用できます。次に、Scan 関数を使用して、この行をスキャンして変数に取り込むことができます。スキャン操作が成功すると、変数は true に設定されます。それ以外の場合は false のままです。
レコードが存在しない場合は、Exec 関数を使用して INSERT ステートメントを実行し、レコードを挿入できます。
その方法の例を次に示します。このアプローチを実装します:
var exists bool row := db.QueryRow("SELECT EXISTS(SELECT 1 FROM category WHERE name = 'construction')") if err := row.Scan(&exists); err != nil { return err } else if !exists { if err := db.Exec("INSERT INTO category (name) VALUES ('construction')"); err != nil { return err } }
この例では、name 列の値が に設定されたカテゴリ テーブル内のレコードの存在を確認しています。 '工事'。レコードが存在しない場合は、その値を持つ新しいレコードを挿入します。
このアプローチを応用して、他のテーブルのレコードを確認し、必要に応じて挿入することができます。
以上がGolangでレコードの存在を確認し、必要に応じて挿入する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。