Benutzertabelle, ID-Nummer muss eindeutig sein, Mobiltelefonnummer, E-Mail-Adresse muss eindeutig sein Durchführung:Die Tabellenstruktur muss nicht verändert werden. Eine Primärschlüssel-ID plus Indeximplementierung Legen Sie den Indextyp wie in der Abbildung gezeigt auf „Eindeutig“ fest, um das einzige Feld auszuwählen, und geben Sie ihm einen Namen. Die Indexmethode ist btree. Okay~ Ergänzung: MySQL implementiert nicht-duplizierbare Primärschlüssel für mehrere Tabellen Es gibt zwei Tabellen in derselben Datenbank und die Felder sind dieselben, aber die gespeicherten Daten müssen unterschieden werden. Der Primärschlüssel kann jedoch nicht wiederholt werden. Die konkrete Umsetzung sieht wie folgt aus: Erstellen Sie eine neue Datenbank mytestNeue Benutzertabelle und Administratortabelle erstellenCREATE TABLE `Benutzer` ( `user_id` INT(11) NICHT NULL, `Benutzername` VARCHAR(255) NICHT NULL, `Passwort` VARCHAR(255) NOT NULL, `Telefon` VARCHAR(255) NICHT NULL, PRIMÄRSCHLÜSSEL (`user_id`) ) COMMENT = 'Benutzertabelle' COLLATE='utf8_general_ci' ENGINE=InnoDB; Tabelle „admin“ erstellen ( `user_id` INT(11) NICHT NULL, `Benutzername` VARCHAR(255) NICHT NULL, `Passwort` VARCHAR(255) NOT NULL, `Telefon` VARCHAR(255) NICHT NULL, PRIMÄRSCHLÜSSEL (`user_id`) ) COMMENT = 'Administratortabelle' COLLATE='utf8_general_ci' ENGINE=InnoDB; Erstellen Sie eine neue Sequenztabelle: CREATE TABLE `Sequenz` ( `seq_name` VARCHAR(50) NICHT NULL, `current_val` INT(11) NICHT NULL, `increment_val` INT(11) NICHT NULL STANDARD '1', PRIMÄRSCHLÜSSEL (`seq_name`) ) COMMENT = 'Sequenzliste' COLLATE='utf8_general_ci' ENGINE=InnoDB; Fügen Sie eine neue Sequenz hinzu: INSERT INTO Sequenz WERTE ('seq_test', '0', '1'); Erstellen Sie eine Currval-Funktion, um den aktuellen Wert der Sequenz abzurufen: Trennzeichen # Funktion currval erstellen(v_seq_name VARCHAR(50)) gibt integer(11) zurück beginnen Deklarieren Sie einen ganzzahligen Wert. Sollwert = 0; Wählen Sie current_val in Wert aus Sequenz, wobei seq_name = v_seq_name; Rückgabewert; Ende; Aktuellen Wert abfragen: wähle currval('seq_test'); Erstellen Sie eine Nextval-Funktion, um den nächsten Wert der Sequenz zu erhalten: Trennzeichen # Funktion „nextval“ (v_seq_name VARCHAR(50)) erstellen gibt integer(11) zurück beginnen Aktualisierungssequenz setzt current_val = current_val + increment_val, wobei seq_name = v_seq_name; gibt currval zurück (v_seq_name); Ende; Den nächsten Wert abfragen wähle nextval('seq_test'); Konkrete Umsetzung:<insert id="addUser" parameterType="Benutzer"> <selectKey keyProperty="userId" resultType="int" order="VORHER"> wähle nextval('seq_test'); </Schlüsselauswahl> in Benutzerwerte einfügen (Benutzer-ID, Benutzername, Passwort, Telefon) (#{Benutzer-ID},#{Benutzername, jdbcType=VARCHAR},#{Passwort, jdbcType=VARCHAR}, #{Telefon, jdbcType=VARCHAR}) </einfügen> <insert id="addAdmin" parameterType="Admin"> <selectKey keyProperty="userId" resultType="int" order="VORHER"> wähle nextval('seq_test'); </Schlüsselauswahl> in Admin-Werte (Benutzer-ID, Benutzername, Passwort, Telefon) einfügen (#{Benutzer-ID},#{Benutzername, jdbcType=VARCHAR},#{Passwort, jdbcType=VARCHAR}, #{Telefon, jdbcType=VARCHAR}) </einfügen> Endgültige Umsetzung:Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur. Das könnte Sie auch interessieren:
|
<<: Neue Möglichkeiten zum Spielen mit CSS-Schriftarten: Implementierung farbiger Schriftarten
>>: Tomcat-Konfiguration und wie man ihn in Eclipse startet
Code kopieren Der Code lautet wie folgt: <html...
Vorwort Kürzlich habe ich zufällig MySQLs Coalesc...
1. Einleitung Presto ist eine Open-Source-SQL-Abf...
Mongodb verfügt über einen Befehl db.serverStatus...
Inhaltsverzeichnis 1. Einführung in import_table ...
Umgebung: init_worker_by_lua, set_by_lua, rewrite...
Nachdem Sie –subnet zum Erstellen des Docker-Netz...
Inhaltsverzeichnis 1. Projektbeschreibung 1.1 Hin...
Inhaltsverzeichnis 1. Was ist Lazy Loading von Ro...
Inhaltsverzeichnis Problemumgehung Warum kann ich...
In diesem Artikelbeispiel wird der spezifische Co...
** Installieren Sie mysql-8.0.20 unter Linux ** U...
Vorwort: MYSQL dürfte die beliebteste WEB-Backend...
Beim Hinzufügen einer Windows 2008-Server-Subdomä...
Inhaltsverzeichnis Alle Speicher-Engines anzeigen...