Php 如何使mysql类似于和不类似于从列表中获取字符串

Php 如何使mysql类似于和不类似于从列表中获取字符串,php,mysql,Php,Mysql,我有以下mysql代码 SELECT * FROM loans_book WHERE the_amount < 500000 AND loan_amount_you_require NOT LIKE '%avensis%' OR loan_amount_you_require NOT LIKE '%prius%' OR loan_amount_you_require NOT LIKE '%porsch%' OR 从贷款金额

我有以下mysql代码

SELECT * FROM loans_book WHERE the_amount < 500000 
AND 
loan_amount_you_require 
NOT LIKE '%avensis%' 
OR 
loan_amount_you_require  
NOT LIKE '%prius%'
OR
loan_amount_you_require 
NOT LIKE '%porsch%'
OR
从贷款金额<500000的贷款账簿中选择*
及
您需要的贷款金额
与“%avensis%”不同
或
您需要的贷款金额
不像'%prius%'
或
您需要的贷款金额
不像“%porsch%”
或
问题是,如果我继续添加不喜欢的,它们肯定会加起来100个,我怀疑这个列表可能会更长

我喜欢mysql使用
NOT IN
的方式,我可以用逗号分隔字符串,但
NOT like
的不同之处在于每次都需要指定列名


有没有一种方法可以让我在每次使用
而不是
时都能绕过要求来声明列名?

检查正则表达式中的模式列表应该可以做到:

 SELECT * 
   FROM loans_book    
  WHERE the_amount < 500000 
    AND loan_amount_you_require 
 REGEXP '(avensis|prius|porsch)';
选择*
借书
如果金额<500000
以及你需要的贷款金额
REGEXP'(avensis | prius | porsch)';
另请参见尝试以下操作:

SELECT
   * 
FROM
   loans_book
WHERE 
   the_amount < 500000 
   AND 
   loan_amount_you_require NOT REGEXP ('avensis|prius|porsch')
选择
* 
从…起
借书
哪里
金额<500000
及
您需要的贷款金额不需要REGEXP('avensis | prius | porsch')

您可以尝试为此使用
非REGEXP
。。。查询应如下所示:

SELECT 
    *
FROM
    loans_book
WHERE
    the_amount < 500000 
    AND loan_amount_you_require NOT REGEXP 'avensis|prius|porsch';
选择
*
从…起
借书
哪里
金额<500000
您所需的贷款金额不包括REGEXP‘avensis | prius | porsch’;

仅当字段正好是
avensis
prius
porsch
时,此选项才有效。。。而这不是OP想要的…我只是有了一些新的想法,并尝试用我自己的。我也是一个学习者。