Ankündigung

Einklappen
Keine Ankündigung bisher.

Registrierung in Chat-Projekt - welcher Typ in MySQL-DB für Datum und Uhrzeit?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Registrierung in Chat-Projekt - welcher Typ in MySQL-DB für Datum und Uhrzeit?

    Hallo Mituser!

    Bin in dem Unterprojekt "Registrierung" im Projekt "Chat-Anwendung" ganz gut vorangekommen. Ich möchte bei einer Neuregistrierung eines Users u.a. seinen Benutzernamen und das Passwort (automatisch generiert und dann md5-verschlüsselt) in einer MySQL-DB speichern.

    Meine Frage: welcher Feldtyp? DATETIME oder timestamp oder getrennt für Datum und Uhrzeit und dann auch welcher Feldtyp?

    Vielen Dank für eure wertvollen Tipps!
    euer
    Streethawk68

  • #2
    Ich weiß zwar nicht, was DATETIME mit Benutzername oder Kennwort zu tun hat.
    Für den Zeitpunkt der Registrierung würde ich DATETIME nehmen. Kann alles.

    Kommentar


    • #3
      Fürs passwort kannst du varchar(32) verwenden. (oder wie lang sind die md5 hashs nochmal? )

      Kommentar


      • #4
        es ist jacke wie hose ob du Datetime oder timestamp aus timestamp kannst du uhrzeit genauso auslesen wie von datetime kommt halt ganz drauf an was die persönlich besser gefällt

        Kommentar


        • #5
          Für einen MD5 Hash würd ich eher char(32) anstatt varchar(32) nutzen, sparst dir nen Byte Bzw. char() ist eben für eine Spalte geeignet deren Inhalt immer die selbe Länge hat.

          Und es gibt schon ein paar Unterschiede zwischen Datetime und Timestamp. Z.B. das Timestamp nur von 1970 - 203x? Wäre für ein Geburtsdatum also eher ungeeignet. Zum anderen kann man Datetime auch als Mensch lesen wenn man in die DB schaut. Dafür kann ein Timestamp direkt von der Datenbank geupdated oder auf "NOW()" gesetzt werden, das mag Datetime nicht so.

          Kommentar


          • #6
            Zitat von Flor1an Beitrag anzeigen
            Für einen MD5 Hash würd ich eher char(32) anstatt varchar(32) nutzen, sparst dir nen Byte Bzw. char() ist eben für eine Spalte geeignet deren Inhalt immer die selbe Länge hat.

            Und es gibt schon ein paar Unterschiede zwischen Datetime und Timestamp. Z.B. das Timestamp nur von 1970 - 203x? Wäre für ein Geburtsdatum also eher ungeeignet. Zum anderen kann man Datetime auch als Mensch lesen wenn man in die DB schaut. Dafür kann ein Timestamp direkt von der Datenbank geupdated oder auf "NOW()" gesetzt werden, das mag Datetime nicht so.
            Schnelle Selektierung von Datensätzen aus einem gewissen Zeitraum sind mit timestamp auch besser machbar.

            Da es bei dir aber um das Datum der Registrierung handelt und dieses sicher nicht älter ist als aus dem Jahre 1970, würde ich dir ein timestamp empfehlen.

            Kommentar


            • #7
              Wieso ist die Selektion beim Timestamp schneller? Ich denke die interne Darstellung wird ähnlich sein, jedoch zumindest optimiert um Bereichsabfragen durchzuführen. Vor allem wenn ein Index drauf liegt.

              Kommentar

              Lädt...
              X