Heim > Datenbank > MySQL-Tutorial > Wie verkette ich eine Zeichenfolge und eine Primärschlüssel-ID beim Einfügen in MySQL?

Wie verkette ich eine Zeichenfolge und eine Primärschlüssel-ID beim Einfügen in MySQL?

Susan Sarandon
Freigeben: 2024-11-13 10:47:02
Original
795 Leute haben es durchsucht

How to Concatenate a String and Primary Key ID During Insertion in MySQL?

Verketten einer Zeichenfolge und einer Primärschlüssel-ID beim Einfügen

Das Einfügen von Daten in eine MySQL-Tabelle kann unkompliziert sein, wie im bereitgestellten Code gezeigt. Wenn Sie jedoch Benutzernamen als „Benutzer“ erstellen möchten, die mit einer automatisch inkrementellen Primärschlüssel-ID (Benutzer1, Benutzer2, Benutzer3 usw.) verkettet sind, erfordert ein direkter Ansatz einige Überlegungen.

Verkettungsbeschränkungen :

  • AUTO_INCREMENT-Einschränkungen: Der Primärschlüssel wird erst nach dem Einfügevorgang generiert, sodass ein Trigger-Ansatz den verketteten Wert während des ersten Einfügevorgangs nicht zuweisen kann.

Alternativer Ansatz:

Um diese Einschränkung zu beheben, können Sie die folgenden Schritte ausführen:

  1. Geben Sie die Daten ein: Führen Sie die INSERT-Anweisung wie bereitgestellt aus.
  2. Rufen Sie die eingefügte ID ab:Verwenden Sie die Funktion mysqli_insert_id(), um die automatisch generierte ID abzurufen.
  3. Aktualisieren Sie den Benutzernamen: Führen Sie eine UPDATE-Anweisung aus, um die Zeichenfolge „Benutzer“ mit der abgerufenen ID zu verketten:
$query = 'UPDATE `users` SET `username` = CONCAT("user", ?) WHERE `id` = ?';
$stmt = $mysqli->prepare($query);
$stmt->bind_param("ii", $id, $id);
$stmt->execute();
Nach dem Login kopieren

Überlegungen für Nicht-AUTO_INCREMENT-IDs:

Wenn die Benutzer-ID kein AUTO_INCREMENT-Wert ist, können Sie die Zeichenfolge „Benutzer“ und die angegebene ID direkt in Ihrem PHP-Code verketten, bevor Sie sie als Parameter in der Einfügeanweisung übergeben.

Zusätzliche Hinweise:

  • Die Verwendung von mit MySQL 5.7 generierten Spalten ist in diesem Fall keine Option, da dies aufgrund der automatischen Inkrementierung des Primärschlüssels zu einem Fehler führt.
  • Dieser zweistufige Ansatz stellt sicher, dass der Benutzername nach dem ersten Einfügen korrekt aktualisiert wird.

Das obige ist der detaillierte Inhalt vonWie verkette ich eine Zeichenfolge und eine Primärschlüssel-ID beim Einfügen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage