J'ai besoin de créer une procédure stockée dans mysql pour supprimer plusieurs enregistrements d'une table en fournissant la liste des ID comme une liste séparée par des virgules.MySql supprimer plusieurs enregistrements par liste séparée par des virgules
exemple
(s'il vous plaît noter que la colonne Id dans le tableau est un entier)
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `deleteLines`(IN $ids varchar(1000))
BEGIN
select * from line where $ids in ($ids);
END$$
DELIMITER;
CALL deleteLines('1,3,5,12');
Quelle est la meilleure façon de supprimer plusieurs enregistrements dans ce scénario?
Création d'un sproc est une partie spécifique du brief? – Strawberry
Pourquoi avez-vous besoin d'une procédure pour une tâche aussi simple? http://stackoverflow.com/questions/2615566/delete-where-id-in-list –
Cette procédure stockée appellera par une application. Plutôt que d'appeler l'instruction SQL inline de l'application, je l'ai déplacée vers une procédure stockée. Plus tard si besoin d'une modification, il sera facile de faire n'importe quoi sans compiler l'application. –