如果mysqld开启了nsi_quotes选项,则只允许用单引号('')引用字符串,双引号("")被解释为标示符。
SELECT FIND_IN_SET("b", 'a,b,c,d');
由SELECT
FIND_IN_SET导致的错误
Column not found: 1054 Unknown column 'b' in 'where clause'
是因为"b"不能用双引号,要改成单引号。
SELECT FIND_IN_SET('b', 'a,b,c,d');
开启双引号功能:双引号模式是ANSI_QUOTES
set @@session.sql_mode=concat('STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION',',ANSI_QUOTES');