![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
Registriert seit: 15.08.2001
Alter: 51
Beiträge: 235
|
![]() 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! |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
![]() 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 |
![]() |
![]() |
![]() |
#3 |
Veteran
Registriert seit: 15.08.2001
Alter: 51
Beiträge: 235
|
![]() und warum?
|
![]() |
![]() |
![]() |
#4 |
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
![]() 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 |
![]() |
![]() |
![]() |
#5 |
Veteran
![]() Registriert seit: 03.07.2000
Alter: 47
Beiträge: 430
|
![]() 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 |
![]() |
![]() |
![]() |
#6 |
Veteran
Registriert seit: 15.08.2001
Alter: 51
Beiträge: 235
|
![]() @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 |
![]() |
![]() |
![]() |
#7 |
Veteran
![]() Registriert seit: 03.07.2000
Alter: 47
Beiträge: 430
|
![]() OK nach erneutem Durchlesen habts mi überzeugt ...
![]() Hauptsache jetzt passts ... |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|