Je suis assez nouveau à ce désolé pour mon manque de connaissances.Perl MySQL - Comment passer la mise à jour ou l'insertion d'une ligne si un champ particulier correspond?
J'ai mis en place quelques tables avec lesquelles j'ai réussi à écrire et j'ai accédé via un script Perl en utilisant les modules CGI et DBI grâce aux conseils ici.
Ceci est une liste de membres pour un bulletin de nouvelles local. Oui, je sais, des tonnes d'applications là-bas, mais je veux apprendre cela.
1- Je voulais éviter de mettre à jour ou d'insérer une ligne si une partie de mon entrée correspond à des données de colonne dans une colonne/un champ particulier. Lors de la création de la table, dans phpmyadmin, j'ai cliqué sur le "U" (unique) sur le nom de cette colonne en mode Structure. Cela a semblé fonctionner et aucun dupes n'est inséré mais, je désire une solution de Perl codée dur ainsi, je comprends la mécanique de ceci. J'ai lu sur "insérer ignorer"/"mettre à jour ignorer" et cherché partout mais, tout ce que j'ai trouvé ne semble pas juste sauter une dupe.
La colonne n'est pas une clé ou autoinc juste un ancien champ avec une adresse e-mail. (erreur?)
2- Lorsque j'écris dans la base de données, je ne veux rien faire si l'adresse e-mail entrante correspond à une adresse dans ce champ. Je souhaite la méthode la plus rapide pour que je puisse passer en revue leurs données existantes d'exportation de listes, (elles ne peuvent pas comprendre le logiciel) sans des courses/verrouillage ou n'importe quelles conditions dans lesquelles je suis dans l'ignorance évidente.
Puisque je crée ceci à partir de zéro, 1 et 2 peuvent être en fait partiellement discutables. Si oui, quelle serait la meilleure approche?
Je voudrais toujours un ID d'incrémentation automatique, donc je peux accéder via le numéro d'ID ou la boucle à travers avec une sorte de count ++ foreach. Mon approche de couteau de pierre peut être risible pour les gourous ici, mais je dois commencer quelque part.
Merci d'avance pour votre aide.
Merci! J'ai accepté votre réponse. – DulcimerDude