Bitte klatscht nicht gleich die Hände über dem Kopf zusammen. Ich weiß, dass die Frage schon oft gestellt wurde und ich hab mir auch bereits sämtliche threads zum Thema LAST_INSERT_ID() durchgelesen.
Meine Frage bezieht sich auf folgenden Beitrag:
http://groups.google.at/groups?selm=...&output=gplain
Die selbe Frage hab ich auch, nur ich hab keine brauchbaren Antworten gefunden. Ist es programmiertechnisch sauber Sequenzen statt Auto_Increments zu verwenden, wenn man datenbankunabhängig programmieren will, sprich einen Abstraktionslayer wie PEAR einschaltet? Vermutlich ist es die einzige Möglichkeit.
Ich verwende derzeit MySQL und die LAST_INSERT_ID()-Funktion find ich recht praktisch. Auch das Einfügen neuer Datensätze ohne explizite ID-Vergabe ist eine Arbeitserleichertung, da der nächste freie Wert automatisch bestimmt wird.
Wie lautet ein sauberer Ansatz, um mehrere Tabellen mit eigenen Index-Nummern zu versehen? Die PEAR-Klasse DB beinhaltet die Funktion nextId("foo") mit der eine Tabelle mit der Spalte "foo" angelegt wird in der die jeweilige Index-Nummer mit jedem nextId Aufruf erhöht wird. wenn ich mehrere Tabellen mit Index-Nummern versehen will, werden auch mehrere Tabellen für die nextId Aufrufe angelegt. Das empfinde ich als unsauber und unübersichtlich.
Vor jedem einfügen eines neuen Datensatzes müsste man also mit nextId die nächste freie Nummer abfragen... Geht es auch einfacher? Gibt es eine "Abkürzung"? Was wenn vergessen wird die Nummer abzufragen?
Sorry, für die vielleicht trivialen Fragen, nur ich möchts von Anfang an richtig und Datenbankunabhängig machen. Wäre für einen Erfahrungsaustausch wirklich dankbar.
Meine Frage bezieht sich auf folgenden Beitrag:
http://groups.google.at/groups?selm=...&output=gplain
Die selbe Frage hab ich auch, nur ich hab keine brauchbaren Antworten gefunden. Ist es programmiertechnisch sauber Sequenzen statt Auto_Increments zu verwenden, wenn man datenbankunabhängig programmieren will, sprich einen Abstraktionslayer wie PEAR einschaltet? Vermutlich ist es die einzige Möglichkeit.
Ich verwende derzeit MySQL und die LAST_INSERT_ID()-Funktion find ich recht praktisch. Auch das Einfügen neuer Datensätze ohne explizite ID-Vergabe ist eine Arbeitserleichertung, da der nächste freie Wert automatisch bestimmt wird.
Wie lautet ein sauberer Ansatz, um mehrere Tabellen mit eigenen Index-Nummern zu versehen? Die PEAR-Klasse DB beinhaltet die Funktion nextId("foo") mit der eine Tabelle mit der Spalte "foo" angelegt wird in der die jeweilige Index-Nummer mit jedem nextId Aufruf erhöht wird. wenn ich mehrere Tabellen mit Index-Nummern versehen will, werden auch mehrere Tabellen für die nextId Aufrufe angelegt. Das empfinde ich als unsauber und unübersichtlich.
Vor jedem einfügen eines neuen Datensatzes müsste man also mit nextId die nächste freie Nummer abfragen... Geht es auch einfacher? Gibt es eine "Abkürzung"? Was wenn vergessen wird die Nummer abzufragen?
Sorry, für die vielleicht trivialen Fragen, nur ich möchts von Anfang an richtig und Datenbankunabhängig machen. Wäre für einen Erfahrungsaustausch wirklich dankbar.