我将值传递给存储过程。逻辑是用逗号和循环来分割值。
@Colomns Id,Firstname,Lastname
@values 1,'foo','bar'
查询应为
Select * from user where Id = 1 and Firstname = 'foo' and Lastname = 'bar'
只需使用substring_index()
或concat()
:
Select *
from user
where concat_ws(Id, firstname, lastname) = @param;
然后,修复存储过程以获取三个参数!将三个值放入一个字符串中,而不是传入三个单独的值,没有任何好处。