MqSQL



  • Hi!
    Hab wieder mal n Prob:
    Also die folgende Abfrage soll mir die höchste id aus der Datenbank liefern und die um 1 erhöhen, sodass ich die dann in einem neuen Datensatz speichern kann. Allerdings wird als id immer 1 ausgegeben, obwohl die höchste id 8 ist...
    hier mal der Code:

    <?PHP
         $db=mysql_connect();
         $sql="SELECT * FROM member ORDER BY id DESC LIMIT=1";
         $res= mysql_query ($sql, $db);
         $ligne = mysql_fetch_object ($res);
         $id=$ligne->id;
         $id++;
         $sql1="INSERT INTO member (nick, status, icq, mail, rang, id) VALUES ('$nick', '$status', '$icq', '$mail', '$rang', '$id')";
         mysql_query($sql1, $db);
        ?>
    

    cya,
    Master Death



  • Entweder SELECT MAX(id) FROM member oder (das ist wohl die bessere Variante) gleich auto_increment 😉



  • Also mit MAX(id) funktioniert das irgendwie nicht und über auto_increment find ich nichts, könnte mir da noch jemand helfen?


  • Mod

    wenns nicht funktioniert, dann machs richtig
    und wenn du zu auto_increment nix findest, dann such mal danach.

    btw:
    was heisst denn 'funktioniert nicht' - kocht er statt das richtige auszugeben dir einen kaffee? wenn ja, dann lad dir mal das neueste update für deine kaffeemaschine runter...

    wo hast du denn nach auto_increment gesucht?
    sicher nicht auf google und auch nicht in dem MySQL Manual und in dein SQL Buch hast du auch nicht rein gesehen...



  • auto_increment ist ein Spaltentype in MYSQl und auch anderen DB`s.

    Hier wird von dir nichts eingetragen. Dies macht das DBMS selbst. Und zwar wird dise immer um einen Wert erhöht.

    z.B. 1 2 3 4 5 6

    Wird meist verwendet um einen eindeutigen Datensatzbezeichner zu bekommen der in einer DB lebenswichtig ist. auto_increment-Werte sind nie gleich da sie UNIQUE sind. auto_increment sind UINT 10 .


Anmelden zum Antworten