我需要传递一个字符串数组作为参数到一个MySQL存储例程。该数组可能很长,其元素数量不固定。然后我想将字符串值放入一列内存表中,这样我就可以处理数据。我不知道这是否可以在MySQL中完成。也许肮脏的解决方法是必要的。传递数组到MySQL存储例程
例如,我有串香蕉,苹果和橙。现在我想从我的MySQL Fruits
表中获取这些水果的数据。伪代码:
create function GetFruits(Array fruitArray)
declare @temp table as
fruitName varchar(100)
end
@temp = convert fruitArray to table
select * from Fruits where Name in (select fruitName from @temp)
end
微软SQL Server允许您使用TEXT
数据类型,并提交阵列作为XML字符串,迅速建立在内存中的表。但是,我不认为这种技术在MySQL中是可行的。
任何帮助如何做到这一点,将不胜感激!
请问这种方法容易受到SQL注入攻击? – pixelfreak
我认为这与执行简单的INSERT,SELECT或其他命令相同。 – Devart
这是哈克。我会说要使用临时表的连接。 – bobobobo