sql >> Database >  >> RDS >> Sqlserver

Veiligste manier om de laatste record-ID van een tafel te krijgen

SELECT IDENT_CURRENT('Table')

U kunt een van deze voorbeelden gebruiken:

SELECT * FROM Table 
WHERE ID = (
    SELECT IDENT_CURRENT('Table'))

SELECT * FROM Table
WHERE ID = (
    SELECT MAX(ID) FROM Table)

SELECT TOP 1 * FROM Table
ORDER BY ID DESC

Maar de eerste zal efficiënter zijn omdat er geen indexscan nodig is (als je een index in de Id-kolom hebt).

De tweede oplossing is gelijk aan de derde (beiden moeten de tafel scannen om de maximale id te krijgen).



  1. waarden krijgen die niet in de mysql-tabel voorkomen

  2. Draaien van meerdere kolommen in T-SQL

  3. Groeperen met een Case Statement

  4. Een SQLite-database klonen