Bonjour à tous.
Derrière ce titre un peu capillotracté, je vous explique la situation.
J'ai réalise un formulaire qui comprend plusieurs parties:
Objet A:
Nom objet A:
Plein d'autres choses sur A...
ID_Objet B
ID_Objet C
Objet B:
ID de B:
Nom de B:
...
Objet C:
ID de C:
Nom de C:
...
Mon formulaire illustre la structure de ma base de données.
J'ai 3 tables: A, B, C avec des clés étrangères de A vers B et de A vers C.
Ces clés étrangères ne peuvent pas être nulles, sinon c'est la fin du monde.
Les IDs de B et C ne sont pas auto_incrémenté mais proviennent d'un champ du formulaire
Je dois donc avoir crée une entrée dans les tables B et C avant de pouvoir finaliser la création de mon objet A.
Je bloque un peu sur la manière de procéder...
J'ai imaginé une solution de la sorte:
- Saisie du nom de A et d'autres champs
- Saisie des champs liées aux objets B et C...
Bouton Valider:
INSERT dans BDD des objets B et C, récupération des IDs
INSERT de A dans BDD, avec donnée du formulaire plus résultat requete précédente.
Seulement voilà, imaginons que la création de B ou de C échoue (s'il y a une duplication de clés par exemple), comment assurer l'intégrité de mes données?
Y a t'il moyen de créer une table A' temporaire (structure exactement identique à A avec des clés qui peuvent être nulles) et si la création de B et C réussie, je converti ma table temporaire A' en A.
Merci pour vos tuyaux!
Partager