WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 11.02.2003, 16:59   #1
Gonte
Veteran
 
Registriert seit: 15.08.2001
Alter: 51
Beiträge: 235


Standard MySQL letztes auto_increment

huhu!

ich stehe vor folgendem problem: ich möchte mit php den nächsten wert herausfinden, den ein auto_increment id-feld in einer mysql-datenbank erhält. mysql_insert_id() oder MAX(id)+1 funkioniert aus 2 gründen nicht:

1. findet nicht zwingendermassen eine insert-aktion vorher statt
2. kann die tabelle leer sein bzw. das letzte element gelöscht worden sein

mysql wird ja einen internen zähler verwenden. komm ich da irgendwie ran?

vielen dank für eure antworten!
Gonte ist offline   Mit Zitat antworten
Alt 12.02.2003, 18:23   #2
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Falls das Feld als 'auto_increment' deklariert wurde, gelten deine Gründe nicht.

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 12.02.2003, 18:55   #3
Gonte
Veteran
 
Registriert seit: 15.08.2001
Alter: 51
Beiträge: 235


Standard

und warum?
Gonte ist offline   Mit Zitat antworten
Alt 12.02.2003, 20:14   #4
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Code:
mysql> use monanet;
Database changed
mysql> show table status;
+------------------+--------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+----------------+---------------------------+
| Name             | Type   | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Create_options | Comment                   |
+------------------+--------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+----------------+---------------------------+
| banner           | MyISAM | Fixed      |    2 |            254 |         508 |   1090921693183 |         2048 |         0 |              4 | 2002-11-07 12:17:53 | 2002-11-07 12:18:05 | NULL       |                |                           |
| bundeslaender    | MyISAM | Fixed      |    9 |             18 |         162 |     77309411327 |         2048 |         0 |           NULL | 2002-11-07 12:17:53 | 2002-11-07 12:18:05 | NULL       |                |                           |
~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 12.02.2003, 20:29   #5
schera
Veteran
 
Registriert seit: 03.07.2000
Alter: 47
Beiträge: 430


Standard

mit "SELECT max(ID)+1 AS max FROM tabelle;" kannst dir immer die nächste ID ziehen.

Denn wenn auch vorher eine gelöscht wurde wird die vorlaufende Zahl davon nicht betroffen ...

lG,

schera
schera ist offline   Mit Zitat antworten
Alt 12.02.2003, 21:09   #6
Gonte
Veteran
 
Registriert seit: 15.08.2001
Alter: 51
Beiträge: 235


Standard

@käptn: danke, das habe ich gesucht

@schera: das funktioniert nur, wenn der letzte eintrag nicht gelöscht wurde bzw. sich überhaupt daten in der table befinden
Gonte ist offline   Mit Zitat antworten
Alt 12.02.2003, 21:48   #7
schera
Veteran
 
Registriert seit: 03.07.2000
Alter: 47
Beiträge: 430


Standard

OK nach erneutem Durchlesen habts mi überzeugt ...
Hauptsache jetzt passts ...
schera ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:14 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag