Je tente de créer une procédure stockée qui crée une insertion dans des tables. L'insertion affecte deux tables et il y a un FK entre elles.Mysql: Procédure d'insertion avec deux tables (FK)
CREATE PROCEDURE `db`.`add_user_hr` (
IN in_Pass VARCHAR(45),
IN in_Value VARCHAR(45),
IN in_HR_ID INT,
)
BEGIN
INSERT INTO HR
(
Value
)
VALUES
(
in_Value
);
INSERT INTO User
(
Password,
HR_idHR
)
VALUES
(
in_Pass,
(Get the ID from HR)
);
END
Comment puis-je faire en sorte que l'ID correct entre dans l'utilisateur. Et s'il y a une erreur dans l'insert dans HR, qui dois-je faire pour qu'il devienne tyr pour faire un insert dans User? Ive regardé dans "commit" mais ne sais pas comment il est utilisé. Ou y a-t-il une meilleure façon de faire cela?
Dans cet exemple, j'ai une table UserType. Est-ce nécessaire à pour savoir quel type d'utilisateur il est postérieur? Et comment puis-je l'utiliser dans l'insert, sélectionnez la procédure dans le avenir?
Merci à tous!
S'il y en a beaucoup qui utilisent cette procédure en même temps, il y a un changement que last_insert_id(); est-ce que c'est incorrect? – Linqan
Cette fonction fonctionne au niveau de la session. – ravnur