#781

E-Mail-Eindeutigkeit erzwingen — aber nur unter aktiven Konten

In users löschen wir Personen nicht physisch — wir setzen ein Löschdatum in deleted_at (sogenanntes Soft-Delete). Aber email muss dennoch unter den aktiven eindeutig sein: Wenn Anna ihr Konto gelöscht hat, hat eine neue Anna das Recht, sich mit derselben E-Mail anzumelden, sonst bleibt diese für immer blockiert. Baue users mit id (Primärschlüssel), email (bis zu 255 Zeichen) und deleted_at (Zeitstempel mit Zeitzone). Füge einen eindeutigen Index namens users_email_active_uniq über email hinzu, der nur für Zeilen gilt, deren deleted_at leer ist. Gelöschte Zeilen gelangen nicht in den Index, sodass ihre E-Mail wiederverwendet werden kann.

Nur CREATE/ALTER/DROP — kein abschließendes SELECT erforderlich.

Dein Abfrageergebnis erscheint hier

Kein Ausgangsschema

Diese Aufgabe beginnt ohne Tabellen — du erstellst sie mit CREATE TABLE.