INSERT INTO et foreign keys
Bonjours,
je crée pour la première fois une base de données :aie:.
J'ai deux tables 'STRUCTURES' et 'ADRESSES' avec une clé primaire en auto_increment (ID_STRUCTURE, ID_ADRESSE)
Une 'Structure' a une 'Adresse' et une 'Adresse' appartient à une seul 'Structure', relation 1:1
J'ai une clé étrangère de Structure vers Adresse :
Je souhaite créer une nouvelle structure. J'utilise alors une procédure :
Code:
1 2 3 4 5 6 7 8 9 10 11
| DELIMITER |
CREATE PROCEDURE `AJOUTER_STRUCTURE` (IN inNOM VARCHAR(255), IN inSIRET BIGINT(14), IN inADRESSE VARCHAR(255))
BEGIN
-- Ajout de l'adresse
INSERT INTO ADRESSES (ADRESSE) VALUES (inADRESSE);
SET @ID_ADRESSE := (SELECT ID_ADRESSE FROM ADRESSES WHERE ADRESSE = inADRESSE);
-- Ajout de la structure
INSERT INTO STRUCTURES (NOM, SIRET, ID_ADRESSE) VALUES (inNOM, inSIRET, @ID_ADRESSE);
END|
DELIMITER ; |
Je suis obliger de passer par un SELECT pour renseigner la clé étrangère de Structures ...
Existe t-il un meilleur moyen pour faire cette insertion ?
Merci.