Wie die letzte ID bekommen mit PHPErhalten Sie die ID der letzten eingefügten Zeile ORACLE/PHP
ähnlich mysqli_insert_id($conexao)
Wie die letzte ID bekommen mit PHPErhalten Sie die ID der letzten eingefügten Zeile ORACLE/PHP
ähnlich mysqli_insert_id($conexao)
Unter der Annahme, dass Ihre IDs in aufsteigender Reihenfolge auto-inkrementiert werden Sie für die höchste ID abfragen könnten ...
SELECT id from table ORDER BY id DESC LIMIT 1
, dass Sie die höchste ID geben sollte und wenn Ihre IDs automatisch erhöht werden sollte dies der letzte Eintrag sein ...
Viele Oracle-Programme Verwenden Sie database objects called SEQUENCE
s, um eindeutige IDs zu generieren. Wenn Sie wissen, welche Sequenz für die ID in der Tabelle verwendet wird, die Sie gerade INSERT
ed in, sagen einfach
SELECT sequencename.CURRVAL FROM DUAL;
unmittelbar nach dem Einsatz in der gleichen Datenbank-Verbindung, und Sie werden die ID-Nummer.
SELECT MAX(id)
und ähnliche Konstrukte funktionieren gut, solange Sie nur eine Verbindung zur Datenbank haben: das heißt, sie funktionieren nicht. Grundsätzlich sind sie nicht threadsicher. Sie sind auch teurer als CURRVAL
.
Dies unterliegt den Rennbedingungen und ist notorisch unzuverlässig. –
Ich wusste nicht über Race-Bedingungen oder Unzuverlässigkeit bei dieser Abfrage ... Wenn das in der Tat wahr ist, könnte man SELECT MAX (ID) aus Tabelle verwenden ... – Tim
Was ist, wenn Sie mehrere Datenbank-Client-Programme Zeilen in die Tabelle einfügen ? Das ist das Rennen. 'MAX()' hat das gleiche Problem. –