AUTO_INCREMENT



  • Hi folgender CODE funktioniert einfach nicht kein Ahnung warum

    $sql_string = "CREATE TABLE Adressen (KundenNr INTEGER NOT NULL AUTO_INCREMENT,
           				Anrede CHAR(40),
    				Name   CHAR(40),
    				Vorname CHAR(40),
    				Strasse CHAR(40),
    				PLZ     CHAR (15),
    				Ort 	CHAR(40),
    				Telefon	CHAR(40),
    				EMail	CHAR(40),
    				Zahlung CHAR(40),
    				PRIMARY KEY (KundenNr)";
    

    wenn ich das AUTO_INCREMENT und das NOT NULL bei KundenNr weglasse gehts
    kann mir da bitte jemand helfen



  • Versuch's mal mit INT anstatt INTEGER 😉



  • Funktioniert leider auch nicht wie gesagt wen ich nur das AUTO_INCREMENT und das NOT NULL weglasse wird die tabelle ja erstellt. Ach ja bin jetzt auch draufgekommen das die Tabelle auch nicht erstellt wird wenn ich PRIMARY KEY(xxx) verwende



  • Hast du nicht noch ne Klammer vergessen? Welchen Fehler bringt mysql? Besteht die Verbindung zur DB?



  • Das:

    $sql_string = "CREATE TABLE Adressen (KundenNr INTEGER NOT NULL AUTO_INCREMENT, 
                           Anrede CHAR(40), 
                    Name   CHAR(40), 
                    Vorname CHAR(40), 
                    Strasse CHAR(40), 
                    PLZ     CHAR (15), 
                    Ort     CHAR(40), 
                    Telefon    CHAR(40), 
                    EMail    CHAR(40), 
                    Zahlung CHAR(40), 
                    PRIMARY KEY (KundenNr)";
    

    wird zu:

    $sql_string = "CREATE TABLE Adressen (KundenNr INT NOT NULL AUTO_INCREMENT, 
                           Anrede CHAR(40), 
                    Name   CHAR(40), 
                    Vorname CHAR(40), 
                    Strasse CHAR(40), 
                    PLZ     CHAR (15), 
                    Ort     CHAR(40), 
                    Telefon    CHAR(40), 
                    EMail    CHAR(40), 
                    Zahlung CHAR(40), 
                    PRIMARY KEY (KundenNr))";
    

    So lautet der Syntax richtig. Da nklappts auch mit dem Nachbarn.
    Das INTEGER ist nur bei Oracle. 😉



  • IMHO solltest du aber varchar nehmen. Braucht weniger Platz da hier nur soviel Speicher Reserviert wird wie auch bemötigt.
    Adressen sind in der Länge sehr unterschiedlich.
    CHAR macht Sinn wenn man Datensätze mit gleicher länge hat.



  • Unix-Tom schrieb:

    IMHO solltest du aber varchar nehmen. Braucht weniger Platz da hier nur soviel Speicher Reserviert wird wie auch bemötigt.
    Adressen sind in der Länge sehr unterschiedlich.
    CHAR macht Sinn wenn man Datensätze mit gleicher länge hat.

    Hast Recht, das habe ich jetzt nicht beachtet.
    Aber wollte nur den SQL-Statement richtig machen. 😉



  • Für solche Sachen empfehle ich phpmyadmin.
    Da gibts keine Probleme mit dem Syntax.
    Bzw. liefert das Tool mysql einen Fehlerstring.



  • Danke Leutz hat geklappt
    PHPmyadmin geht net weil der für den ich prog seinen Browser aufmachen will und die dann sollen da gleich die Daten stehen tja

    MFG eiskalt



  • Unix-Tom schrieb:

    Für solche Sachen empfehle ich phpmyadmin.
    Da gibts keine Probleme mit dem Syntax.
    Bzw. liefert das Tool mysql einen Fehlerstring.

    Bringt nicht viel. Man sollte es lieber lernen.
    Als würde ich mir Windows per Drag&Drop zusammen puzzeln und dann kompelieren. 😉 🙂


Anmelden zum Antworten