使用邮件列表设置mysql变量

时间:2017-09-08 11:20:52

标签: mysql

我需要定义一个变量列表,以便在多个MySQL查询中使用。

变量将是邮件列表。我试图以不同的方式定义它,但它总是让我在构造中出错。

SET @listamails='mail1@gmail.com,mail2@gmail.com';

Select * from user WHERE mail IN (@listamails);

有什么想法吗?

谢谢

2 个答案:

答案 0 :(得分:0)

您无法使用单个变量将列表传递给IN。 MySQL中最简单的解决方案是find_in_set()

Select u.*
from user u
where find_in_set(mail, @listamails) > 0;

但是,这不能利用索引。为此,您可能希望使用动态SQL。

答案 1 :(得分:-1)

试试这个

SET @listamails='mail1@gmail.com','mail2@gmail.com';

Select * from user WHERE mail IN (@listamails);