Stringdatentyp:Enum??

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

  • Stringdatentyp:Enum??

    Hi könnte mir mal jemand schnell erklären wie man diesen Datentyp einsetzt? Option heißt das es wir zum Beispiel eine Option aus nem Optionsfeld dann gespeichert oder wie bitte um aufklärung mit Beispiel wenn es geht
    Danke im Voraus
    M.f.G. Tragon

  • #2
    http://www.mysql.com/doc/E/N/ENUM.html

    Kommentar


    • #3
      Sorry steig da nicht ganz durch!
      Also gehen wir davon aus ich will in einer Datenbank erfassenn ob jemand nen Führerschein hat! Und es gibt die Möglichkeiten Ja, Nein! Wäre dann Enum das richtige für diesen Teil der Tabelle???
      Und wie müßte ich diese Spalte anlegen?
      M.f.G. Tragon

      Kommentar


      • #4
        Enum ist eine Aufzählung von möglichen Werten. Soweit so gut. Du kannst dann zB radiobuttons verwenden.

        in Deinem Fall etwa:
        <input type="radio" name="fs" value="ja">ja
        <input type="radio" name="fs" value="nein">nein
        jetzt kannst Du das in eine Tabelle so einfügen:
        zB.
        INSERT INTO tbl (`fs`) VALUES ('$fs')

        Aber Du kannst eigentlich ein varchar(1) nehmen und für ja j und nein n eintragen oder so...
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Nein es ist nicht das gleiche ... ENUM('Ja', 'Nein') ... wie auch alle anderen ENUM's werden intern als Integer verarbeitet ... dadurch sind Vergleichsoperationen immer schneller ... außerdem hast Du bei CHAR(1) eine undefiniert Groß-/Kleinschreibung.

          VARCHAR(1) ist überhaupt die genialst Idee ... da (würde MySQL das nicht automatisch optimieren) du auch noch einen Dynamischen Datentyp verwendest ... warum nicht gleich GIANTBLOB und dann für 1 10 Gigabyte 1en reinschreiben und für 0 10 Gigabyte 0en ...
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            Original geschrieben von goth
            Nein es ist nicht das gleiche ... ENUM('Ja', 'Nein') ... wie auch alle anderen ENUM's werden intern als Integer verarbeitet ... dadurch sind Vergleichsoperationen immer schneller ... außerdem hast Du bei CHAR(1) eine undefiniert Groß-/Kleinschreibung.

            VARCHAR(1) ist überhaupt die genialst Idee ... da (würde MySQL das nicht automatisch optimieren) du auch noch einen Dynamischen Datentyp verwendest ... warum nicht gleich GIANTBLOB und dann für 1 10 Gigabyte 1en reinschreiben und für 0 10 Gigabyte 0en ...
            na komm übertreib mal nicht...
            frag mal einen Oracle entwickler was er für ja nein nimmt... :-)
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              Original geschrieben von MelloPie


              na komm übertreib mal nicht...
              frag mal einen Oracle entwickler was er für ja nein nimmt... :-)
              Oha ... ich habe Jahrelang Oracle-Entwickler gespielt ... und VARCHAR(1) war für BOOLEAN Nie ein Thema ... !
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                also wir benutzen immer chars...
                komisch level 5 zertifizierte Entwickler machen das falsch... ich werd nochmal nachfragen :-)
                so nu is aber gut...
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  Viele Wege führen nach Rom ... nur mache sind halt etwas langsamer ...

                  In unserer Firma sind wir sicher nicht weniger qualifiziert!

                  Und Dein Vorschlag war VARCHAR ... nicht CHAR ...

                  Und wenn Ihr Level 97000 zertifiziert sein ... ich mache lieber 'nen Performance test ... und liege dann richtig ... MySQL ist nicht Oracle ... !
                  carpe noctem

                  [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                  [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                  Kommentar


                  • #10
                    Jo danke mal! Wollte hier keinen Streit vom Zaun brechen!!! Also ´habt euch bitte wieder lieb
                    Achso aber dann noch ne Frage wenn ich die Tabelle generier muß ich dann die Werte die rein dürfen angeben?
                    Könntet ihr für das obere Beispiel auch den Create Befehl mit Enum schreiben, möchte des gerne verstehen.Thanx[FONT=arial]x[/FONT]
                    Ach und dann noch ne Frage was sind eigentlich die aktuellen Sätze für Datenbank-Prgrammierer wenn man das Pflichtenbuch vorgibt???
                    Und wenn es sich um eine sehr große Sprich so 100.000 Datensätze und das noch online bei so 2000-3000 ZUgriffen gleichzeitig muß man dann nehmen um ne gute Performance zu gewährleisten? Und was kostet dieser "Spaß" dann?
                    Zuletzt geändert von Tragon; 31.05.2002, 18:14.
                    M.f.G. Tragon

                    Kommentar


                    • #11
                      CREATE TABLE tbl ( col enum('ja','nein') NOT NULL default 'ja')
                      Beantworte nie Threads mit mehr als 15 followups...
                      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                      Kommentar


                      • #12
                        Ok thanx und könntest du mir noch ne Antwort auf den zuvor gepostet den Beitrag geben?? Kosten und so???
                        M.f.G. Tragon

                        Kommentar


                        • #13
                          Original geschrieben von Tragon

                          Ach und dann noch ne Frage was sind eigentlich die aktuellen Sätze für Datenbank-Prgrammierer wenn man das Pflichtenbuch vorgibt???
                          Und wenn es sich um eine sehr große Sprich so 100.000 Datensätze und das noch online bei so 2000-3000 ZUgriffen gleichzeitig muß man dann nehmen um ne gute Performance zu gewährleisten? Und was kostet dieser "Spaß" dann?
                          100000 Datensätze sind ja net wirklich viel...
                          2000-3000 Zugriffe gleichzeitig is ne ganz schöne Menge, da brauchste schon einen dicken Server mit ner ORA und einem Applicationserver der soviele Requests überhaupt handeln kann...
                          Also das ist dann kein Spaß mehr...

                          2000-3000 Zugriffe gleichzeitig???
                          Beantworte nie Threads mit mehr als 15 followups...
                          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                          Kommentar


                          • #14
                            Jo doch 2000-3000 was kostet des dann??? Und wieviel kostet Oracle, halt die Lizenz gebühren? Und was kostet mich ein Programmierer der es für mich umsetzt eingabe und verwaltung soll komplett online sein!???
                            M.f.G. Tragon

                            Kommentar

                            Lädt...
                            X