Задать вопрос
antipetya
@antipetya
интересующийся

Как вернуть нужное значение при ON DUBLICATE KEY в MySQL?

Можно ли вернуть определенное значение, скажем единицу "1", при попытке записать строку в таблицу базы данных при совпадающем ключе?

То есть почти выражение ON DUBLICATE KEY UPDATE - но не обновлять строку а возвращать что-нибудь.

Чтобы не вырывать из контекста:
Делаю регистрацию на сайте, хочу выдавать ошибку "Пользователь уже существует" если совпадет заносимый e-Mail с уже существующим в базе данных.

UPD: нашёл вариант проверять после вставки номер ошибки MySQL, и если она равна 1062 то значит дубль в базе.

Может есть более изящные решения?
  • Вопрос задан
  • 2273 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Immortal_pony
@Immortal_pony Куратор тега MySQL
Сделать select до вставки?
Ответ написан
@Allineer
UNIQUE-индекс на поле с e-mail, дальше INSERT IGNORE ... и проверять количество affected rows (DOStatement::rowCount).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы