/ / W mysql istnieje metoda, która może WSTAWIĆ dane tylko, jeśli COUNT jest równe zero? - mysql, baza danych

W mysql istnieje metoda, która może WSTAWIĆ dane tylko, jeśli COUNT jest równe zero? - mysql, baza danych

Biorąc pod uwagę skrypt rejestracji, muszę najpierw sprawdzić, czy e-mail jest już obecny w databae. Jeśli jest obecny, żadne dane nie muszą być wstawiane, a jeśli nie, mogę postępować z INSERT INTO

W każdym przypadku na końcu zapytania muszę znaćWynik do przesłania go do ostatecznego użytkownika. Zrobiłem już jakiś skrypt, ale wymaga to co najmniej dwóch zapytań. Moim celem jest zrobienie tego za pomocą tylko jednego zapytania

Odpowiedzi:

4 dla odpowiedzi № 1

Najpierw będziesz chciał umieścić unikalny klucz w polu adresu e-mail, co uniemożliwi wstawienie wielu rekordów z tym samym adresem e-mail.

Kiedy już to zrobisz, możesz użyć INSERT IGNORE i sprawdził liczbę dotkniętych wierszy zwróconych przez zapytanie. Jeśli jest zero, to wiesz, że był duplikatem. Jeśli to jest jeden, to wiesz, że to nie było. Możesz też użyć zwykłego INSERT i wychwycić zduplikowany błąd klucza wygenerowany przez bazę danych, aby wiedzieć, czy był to duplikat, czy nie.