2017-02-16 4 views
-1

Ich versuche, einen Server für das POP3-Protokoll zu erstellen. Ich bin relativ neu bei mySql und möchte eine einfache Datenbank zum Speichern von Benutzern (Benutzername und Passwort) und deren entsprechenden E-Mails (etwas Text, nicht E-Mail-ID) erstellen.Erstellung der Tabelle (der Tabelle) mit MySql

Beispiel: Nehmen wir an, user1 hat username1 und password1. Ich möchte eine weitere Tabelle erstellen, die auf den Benutzer1 zeigt und dort seine E-Mails enthält.

Mein Hauptzweck ist es, eine Abfrage mit Java und Zugriff auf Benutzer (mit ihrem Benutzernamen und Passwort) und ihre E-Mails.

Wie kann ich das tun?

+0

Wissen Sie etwas über 'JDBC'? Schauen Sie dort: http://www.tutorialspoint.com/jdbc/ –

+0

Ja, ich bin mir bewusst, jdbc aber konnte nicht herausfinden, wie man eine Tabelle1 (mit E-Mails) unter der Tabelle2 (mit Benutzern) auf Tabelle1 –

+0

I Folge deiner Frage nicht. Meinst du, dass du bereits eine Tabelle hast, die user1, username1, password1 enthält und du möchtest eine andere Tabelle erstellen, die alle E-Mails von user1 enthält? – David

Antwort

0

Werfen Sie einen Blick auf this Antwort zu wissen, wie Passwörter in der Datenbank gespeichert werden.

Sie können Ihr Design etwas wie dieses:

users 
    - id int PK 
    - username varchar unique not null 
    - passwordhash varchar not null 

user_emails 
    - id int PK 
    - user_id int not null FK -> users(id) 
    - email varchar not null 

Ich werde DDL für Sie bin nicht aufschreiben. Überprüfen Sie die Herstellerdokumentation für create table Syntax.

+1

danke für Ihre wertvolle Antwort. sogar ich dachte das selbe, wie Sie gerade umrissen haben, aber das Problem ist, ich muss die Nummerierung aller E-Mails beibehalten, d. h. alle E-Mails können nicht in einer einzigen Tabelle liegen. Jeder Benutzer benötigt eine eigene Tabelle für E-Mails. Ich hoffe, du wirst meinen Standpunkt verstehen. –

+1

Ich habe es nicht verstanden. Warum in aller Welt würden Sie eine neue Tabelle für jeden Benutzer erstellen? Sie können die Nummerierung von einer einzelnen Tabelle erhalten, während Sie eine Auswahl treffen. Sehen Sie dies - http://www.mysqltutorial.org/mysql-row_number/ – GurV

+0

ist es möglich, einen Fremdschlüssel einer ganzen Tabelle und nicht einzelnen Zeilen zuzuordnen? –

Verwandte Themen