Wymuś unikalność email — ale tylko wśród żywych kont
W tabeli users nie usuwamy osób fizycznie — ustawiamy datę usunięcia w deleted_at (tak zwany soft-delete). Ale email nadal musi być unikalny wśród żywych: jeśli Anna usunęła swoje konto, nowa Anna ma prawo zarejestrować się z tym samym email, w przeciwnym razie pozostaje on zablokowany na zawsze.
Zbuduj users z id (klucz główny), email (do 255 znaków) i deleted_at (znacznik czasu ze strefą czasową). Dodaj unikalny indeks o nazwie users_email_active_uniq na email, który obowiązuje tylko dla wierszy, których deleted_at jest puste. Usunięte wiersze nie trafiają do indeksu, więc ich email może zostać użyty ponownie.
Tylko CREATE/ALTER/DROP — bez końcowego SELECT.
Zaloguj się, aby zobaczyć historię rozwiązań
Zaloguj sięZaloguj się, aby korzystać z Mentora AI
Zaloguj sięBrak schematu początkowego
To zadanie zaczyna się bez tabel — utworzysz je za pomocą CREATE TABLE.