"explode" im Query

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

  • "explode" im Query

    Hallo zusammen,

    hab folgendes Problem: In einer Spalte soll eine Kundennummer gespeichert werden. Die Kundennummer soll im Format KD-xxxxxx gespeichert werden und bei jedem Neueintrag automatisch um 1 erhöht.

    Der Zusatz KD- muss in der DB gespeichert werden. Wie kann man das am elegantesten lösen?

    DANKE!!

    strauberry

  • #2
    Hallo,

    du solltest nächstes mal eine treffendere Überschrift für deine Frage wählen.

    Du solltest ein autoincrement-Feld in der DB verwenden, welches logischerweise numerisch ist (INT oder BIGINT), das KD- kannst dann erst bei der Ausgabe hinzufügen.
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      Ok der Titel war aus meinem Gedankengang raus, tut mir leid

      Das mit dem auto_inc Feld geht ja gerade nicht, weil der Zusatz mit in der DB stehen muss...

      Kommentar


      • #4
        Wieso soll der Zusatz in der DB stehen müssen??

        Wenn du die Kundennummer dann abfrägst kannst den Zusatz ja bereits in der Query anfügen...


        SELECT CONCAT('Kd-',ID) as kundennr.....

        Lass dir jetzt einen guten Grund einfallen warum das Kd- bereits in der Tabelle stehen soll
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          Der gute Grund ist folgender: Es gibt je nach Kundengruppe verschiedene Prefixe Und die stehen alle in der gleichen DB... Dann würden einige Zahlen doppelt vorkommen

          Kommentar


          • #6
            MySQL ist bei dem Feldtyp gar nicht so streng:

            Code:
            SELECT ( MAX(REPLACE (Kundennummer,"KD-", "" ) )  +1 ) FROM  `KUNDEN`
            Funktioniert

            Kommentar


            • #7
              Auch eine Möglichkeit.

              Hättest auch überlegen können das Prefix in eine weitere Spalte auszulagern.
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                joa So gefällts mir jetzt ganz gut

                Kommentar

                Lädt...
                X