喜欢......而不是... sql

Mar*_*own 1 mysql sql sql-like

我正在创建一个查询,其中我从多个表中选择数据,但是,我不想选择我的用户当前正在查看的条目.我已经使用AND NOT语法在其他查询中完成了这个但是当与LIKE结合使用时,我仍然返回我不寻找的行?

我运行时语法没有错误但仍然不正确.这是我的查询.

SELECT id AS num, mix_title AS title, table_type AS type, header, post_date, counter 
FROM mixes
WHERE keywords LIKE ('%#workout%')
   OR keywords LIKE ('%#drunk_fairy%')
 AND NOT id='1'
Run Code Online (Sandbox Code Playgroud)

我想上面的代码返回所有LIKE行,但不是id等于1的地方.

抱歉,如果已经提出这个问题,我不太确定如何提出这个问题,谢谢.

Gio*_*sos 5

您必须使用括号,因为AND它优先于OR:

SELECT id AS num, mix_title AS title, table_type AS type, 
       header, post_date, counter 
FROM mixes 
WHERE (keywords LIKE ('%#workout%') OR keywords LIKE('%#drunk_fairy%'))
      AND NOT id='1'
Run Code Online (Sandbox Code Playgroud)