Heim  >  Artikel  >  Datenbank  >  Wie weist man Benutzernamen mit verketteten Primärschlüsselwerten in MySQL zu?

Wie weist man Benutzernamen mit verketteten Primärschlüsselwerten in MySQL zu?

Susan Sarandon
Susan SarandonOriginal
2024-11-09 21:58:02702Durchsuche

How to Assign Usernames with Concatenated Primary Key Values in MySQL?

Einfügen von Daten mit verketteter Zeichenfolge und Primärschlüssel

Einfügungen in eine MySQL-Tabelle erfordern die Zuweisung von Werten zu Spalten, häufig einschließlich eines automatisch inkrementierten Primärschlüssels Schlüssel. Manchmal möchte man jedoch beim Einfügen eine Zeichenfolge mit dem Primärschlüssel verketten, wie im Fall der Zuweisung von Benutzernamen als „Benutzer“, gefolgt vom Wert des Primärschlüssels.

Herausforderung:

Die Benutzertabelle enthält mehrere Spalten, darunter einen automatisch inkrementierten Primärschlüssel „id“ und eine Spalte „Benutzername“. Die Absicht besteht darin, Benutzernamen automatisch als „Benutzer“ mit angehängten entsprechenden Primärschlüsselwerten zuzuweisen.

Ansatz:

  • Die Verwendung einer einzelnen SQL-Anweisung ist unmöglich, weil Der Primärschlüsselwert wird erst nach der Ausführung des „BEFORE INSERT“-Triggers generiert, und eine spätere Änderung des „Benutzernamens“ ist im „AFTER INSERT“-Trigger verboten.
  • Eine praktikable Problemumgehung besteht darin, zuerst die Einfügung durchzuführen und dann Führen Sie eine sofortige Aktualisierung durch, um den Primärschlüsselwert mit der Zeichenfolge zu verketten.

Alternative:

  • Wenn der Primärschlüssel nicht automatisch inkrementiert wird und Stattdessen kann die Verkettungsoperation direkt im PHP-Code ausgeführt werden, bevor Werte als Parameter übergeben werden.

Hinweis:

  • MySQL 5.7 Die generierten Spalten können dieses Szenario nicht berücksichtigen. Der Versuch, eine generierte Spalte zu erstellen, die auf eine automatisch inkrementierte Spalte verweist, führt zu der Fehlermeldung „Die generierte Spalte ‚Benutzername‘ kann nicht auf eine automatisch inkrementierte Spalte verweisen.“

Das obige ist der detaillierte Inhalt vonWie weist man Benutzernamen mit verketteten Primärschlüsselwerten in MySQL zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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