mysql语句不在结果中包含下划线

时间:2013-05-28 07:05:03

标签: mysql

我有像这样的mysql语句

$sql_insertwotd = "SELECT * FROM table WHERE word != '' AND word NOT LIKE '%\_%' ORDER BY RAND() LIMIT 1";

由于某种原因,它仍然会用下划线拉出一个单词。我读到这是使用。

来澄清下划线的正确格式

我不希望它选择包含下划线的单词

2 个答案:

答案 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

默认情况下\是转义字符,您的查询应该按原样运行。