Проверьте, существует ли пользователь в базе данных SQL, заставить пользователя, если нет, сделать его? - PullRequest
0 голосов
/ 18 марта 2012

Мне было интересно, как проверить, существует ли пользователь, и если пользователь существует, скажите им, что его учетная запись уже используется? Спасибо!

РЕДАКТИРОВАТЬ: Вроде как функция типа COLUMN_EXISTS?
РЕДАКТИРОВАТЬ: Это сервер MySQL! : D

Ответы [ 3 ]

1 голос
/ 19 марта 2012

Вам необходимо оформить заявление

SELECT id FROM user WHERE login="JohnSmith"

и посмотрим, даст ли он вам какие-нибудь строки. Если да - пользователь существует.

0 голосов
/ 18 марта 2012

Это зависит от вашего диалекта SQL.Даже что-то подобное не переносимо:

IF NOT EXISTS (SELECT * FROM users WHERE username = @username)
    INSERT INTO users (username) VALUES (@username);
ELSE
    RAISERROR 'whatever';

Взгляните на документацию MySQL для оператора IF .

С MySQL вы можете вызвать ошибкунемного запутанные.Вы можете вернуть набор строк из сохраненной программы, который указывает, была ли выполнена вставка или нет.

0 голосов
/ 18 марта 2012

ЕСЛИ НЕ СУЩЕСТВУЕТ (ВЫБЕРИТЕ * ОТ ПОЛЬЗОВАТЕЛЕЙ, ГДЕ username = 'SnarkyDTheman'), ТО ВСТАВЛЯЙТЕ В ПОЛЬЗОВАТЕЛЕЙ ...

...