Fehler-Lösung

SQLSTATE[23000] 1062 Duplicate entry beheben

Ein INSERT oder UPDATE verletzt einen Unique-Index, weil der Wert schon vorhanden ist.

Die Fehlermeldung

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'max@example.com' for key 'users_email_unique'

Mögliche Ursachen

  • Wert existiert bereits. Ein Datensatz mit derselben E-Mail, demselben Slug oder derselben Kombination ist schon gespeichert.
  • Doppelter Request. Doppelklick oder ein wiederholter Request führen den Insert zweimal aus.

Lösung

  1. In der Validierung die Regel unique verwenden, damit der Nutzer eine verständliche Meldung statt eines 500-Fehlers sieht.
  2. Soll ein vorhandener Datensatz aktualisiert werden, updateOrCreate oder upsert statt create verwenden.
  3. Den Submit-Button nach dem Klick deaktivieren und den Unique-Index als letzte Sicherung behalten.

Validierung

$request->validate([
    'email' => ['required', 'email', 'unique:users,email'],
]);

Quelle: Laravel 12.x: Query Builder (Upserts) · Stand: 2026-10-09

Verwandte Fehler

Fehler bleibt bestehen?

Ich schaue mir Ihr Laravel-Projekt an und sage Ihnen ehrlich, woran es liegt. Kostenloses 30-Minuten-Gespräch.