J'ai une question qui peut sembler stupide mais pour laquelle j'aimerais avoir la solution la plus appropriée.
J'ai une table qui contient plusieurs colonnes, mettons A, B, C (faisons original), je dois insérer dans cette table une série de champs, tout en vérifiant que dans ces champs la colonne A n'est pas égale à une valeur déjà rentrée pour A dans ma table.
Par exemple si j'ai:
A : Paul
B : Banquier
C : Truc
Si je veux insérer le triplet (Pierre, Pecheur,Machin), je le rajoute en second, en revanche si je veux insérer un triplet avec (Paul, Pecheur, Machin), il faut que j'update les données de Paul.
Là où le bat blesse c'est que mes champs ne sont ni uniques ni primaires, ni rien du tout, donc je ne peux pas utiliser une syntaxe du style INSERT INTO ... ON DUPLICATE KEY ...
J'ai bien dans l'idée de pouvoir passer par une table temporaire pour stocker mes champs et créer moi même ma petite table avec ma clé unique et donc pouvoir utiliser le DUPLICATE KEY, mais si je me retrouvais dans le cas où j'avais un bon paquet de champs à modifier/ajouter, je me dis que la solution semble un peu violente, donc je voulais savoir s'il y avait une solution plus 'out of the book'.
Je travaille sur MySQL 4.1, mais j'aimerais une réponse un peu générique c'est pourquoi je poste ici![]()
Voilà j'espère avoir été clair, et ne pas avoir posé une question trop stupide, je suis pas encore très doué avec le principe de certaines requêtes, et j'avoue que je suis pas fan de bidouiller sur ma base pour trouver une solution (j'ai pas trouvé grand chose sur ces problèmes sur internet...)
Merci pour ceux qui ont lu jusqu'ici
(Edit: aussi sinon je cherche une bonne doc sur les procédures et fonctions en (My?)SQL pour savoir comment ça marche mici!)
Partager