Maison > développement back-end > Golang > Comment vérifier l'existence d'un enregistrement et l'insérer si nécessaire dans Golang ?

Comment vérifier l'existence d'un enregistrement et l'insérer si nécessaire dans Golang ?

Patricia Arquette
Libérer: 2024-12-10 16:14:16
original
845 Les gens l'ont consulté

How to Check for Record Existence and Insert if Necessary in Golang?

Vérification de l'existence d'un enregistrement et insertion s'il n'existe pas dans Golang

L'objectif est de vérifier si un enregistrement existe dans une base de données et de l'insérer s'il n'existe pas. Pour y parvenir dans Golang, une approche est la suivante :

Pour vérifier l'existence, vous pouvez utiliser la fonction QueryRow, qui renvoie une ligne pour la requête spécifiée. Vous pouvez ensuite analyser cette ligne dans une variable à l'aide de la fonction Scan. Si l'opération d'analyse réussit, la variable sera définie sur true ; sinon, il restera faux.

Si l'enregistrement n'existe pas, vous pouvez utiliser la fonction Exec pour exécuter une instruction INSERT et insérer l'enregistrement.

Voici un exemple de la façon dont vous pouvez implémentez cette approche :

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
    }
}
Copier après la connexion

Dans cet exemple, nous vérifions l'existence d'un enregistrement dans la table des catégories avec la valeur de la colonne de nom définie sur « construction ». Si l'enregistrement n'existe pas, nous insérons un nouvel enregistrement avec cette valeur.

Vous pouvez adapter cette approche pour vérifier les enregistrements dans d'autres tables et les insérer si nécessaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal