MySql通过逗号分隔列表删除多条记录

MySql通过逗号分隔列表删除多条记录,mysql,stored-procedures,Mysql,Stored Procedures,我需要在mysql中创建一个存储过程,通过以逗号分隔的列表形式提供id列表,从表中删除多条记录 范例 请注意,表中的Id列是整数 在这种情况下,删除多条记录的最佳方法是什么?如果必须这样做,请使用“在集合中查找”: 实际上,如果要删除记录,定义应该更像这样: DELIMITER $$ CREATE PROCEDURE `deleteLines`( IN in_ids varchar(1000) ) BEGIN delete from line where find_in_

我需要在mysql中创建一个存储过程,通过以逗号分隔的列表形式提供id列表,从表中删除多条记录

范例

请注意,表中的Id列是整数


在这种情况下,删除多条记录的最佳方法是什么?

如果必须这样做,请使用“在集合中查找”:

实际上,如果要删除记录,定义应该更像这样:

DELIMITER $$
CREATE PROCEDURE `deleteLines`(
    IN in_ids varchar(1000)
)
BEGIN
    delete from line
    where find_in_set(id, in_ids);
END$$
DELIMITER;

创建存储过程是简介的一个特定部分?为什么您需要一个过程来完成如此简单的任务?此存储过程将由应用程序调用。我没有从应用程序中调用内联SQL语句,而是将其移动到存储过程中。以后如果需要修改,无需编译应用程序即可轻松完成任何操作。谢谢,这正是我想要的。
select * from line where find_in_set(id, in_ids); 
DELIMITER $$
CREATE PROCEDURE `deleteLines`(
    IN in_ids varchar(1000)
)
BEGIN
    delete from line
    where find_in_set(id, in_ids);
END$$
DELIMITER;