我有像这样的mysql语句
$sql_insertwotd = "SELECT * FROM table WHERE word != '' AND word NOT LIKE '%\_%' ORDER BY RAND() LIMIT 1";
由于某种原因,它仍然会用下划线拉出一个单词。我读到这是使用。
来澄清下划线的正确格式我不希望它选择包含下划线的单词
答案 0 :(得分:0)
您必须使用TWO BACKSLASHES
(\\
)才能使用
SELECT * FROM table WHERE word != '' AND word NOT LIKE '%\\_%'
ORDER BY RAND() LIMIT 1
答案 1 :(得分:0)
您可能需要一个明确的转义:
word NOT LIKE '%/_%' ESCAPE '/'
https://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html
默认情况下\是转义字符,您的查询应该按原样运行。