Sql, где с одним отрицательным и двумя положительными - PullRequest
0 голосов
/ 26 августа 2018

На странице настроек пользователь может изменить имя и почту.Я хочу сделать выбор, чтобы убедиться, что пользователь не выбирает имя или почту, которая уже существует.Я мог бы прийти с этим, это работает хорошо, но только для имени:

SELECT name 
FROM user 
WHERE NOT id = :id
AND name = :name

Я пробовал это для имени и пароля, и он не делает правильный выбор:

SELECT name, mail 
FROM user 
WHERE NOT id = :id
AND name = :name OR mail = :mail

Как выбрать имя и почту, которые не являются конкретным идентификатором (в данном случае это идентификатор пользователя сеанса)?

1 Ответ

0 голосов
/ 26 августа 2018

Я думаю, вам нужны круглые скобки:

WHERE NOT id = :id AND
      ( name = :name OR mail = :mail )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...