sql >> Databasteknik >  >> RDS >> Sqlserver

Primärt nyckelvärde efter infogning av rad i SQL Server 2005

För all del - använd SCOPE_IDENTITY() om ditt ID kolumnen är en INT IDENTITY - endast som ger dig rätt resultat!

Den första metoden med MAX(ID) kommer att misslyckas fruktansvärt om du har flera klienter som infogar rader nästan samtidigt - du kommer att få tillbaka falska resultat. Använd inte det!

Den tredje metoden kan misslyckas om en annan post med samma värden för e-post och namn redan finns.

Dessutom, som en sidoanteckning:du bör aldrig använd sp_ som ditt prefix! Detta är ett Microsoft-reserverat prefix och har nackdelar när det gäller prestanda - använd något annat.



  1. MySQL hur får man värdet att förfalla?

  2. Hur begränsar man en databastabell så att bara en rad kan ha ett visst värde i en kolumn?

  3. PostgreSQL bearbetar namn i Windows

  4. SQL Server Error 109:Det finns fler kolumner i INSERT-satsen än de värden som anges i VALUES-satsen