Gibt es technische Überlegungen beim Festlegen des Startwerts für eine Identitätsspalte in SQL Server?Spricht der Startwert für die Identitätsspalte der SQL-Server
Diese Spalte ist die PK und als Identity auto increment gekennzeichnet.
Das Unternehmen möchte IDs nicht bei 1 starten, da sie in Abfragezeichenfolgen öffentlich sichtbar sind und auf mehreren Seiten angezeigt werden. Mit einer höheren Zufallszahl sieht es besser aus, das macht für mich Sinn und ich möchte sicherstellen, dass mir keine technischen Überlegungen fehlen.
Dies ist ein Beispiel dafür, was ich
--Reset manufacturer id to a Random 5 digit number
DECLARE @newId INT = (SELECT FLOOR(RAND() * 100000) + 10000 % 10000)
DBCC CHECKIDENT (Manufacturer, RESEED, @newId);
Nun beginnt, kann RESEED ein Problem sein, wenn Sie bereits Werte in der Spalte table.ID haben. Im Allgemeinen müssen Sie sicherstellen, dass es höher als die vorhandenen Werte ist. (Lower kann auch funktionieren, aber es ist komplizierter) – RBarryYoung
Diese Art von Sache sollte nicht in einer Abfragezeichenfolge sichtbar sein. Das ist eine große rote Fahne, dass dein Code nicht gut entworfen ist. Dies bedeutet möglicherweise, dass Benutzer die Abfragezeichenfolge ändern und Daten anzeigen können, die zu einer anderen Person gehören. Und ehrlich gesagt sollte dies im Allgemeinen kein Wert sein, den die Nutzer sehen sollten. Es gibt keinen technischen Grund, warum Sie es nicht mit dem von Ihnen gewünschten Wert starten können. Aber bedenken Sie, dass Sie regelmäßig große Lücken bekommen können und werden. –
@RBarryYoung Das ist richtig, meine Tabellen werden komplett leer sein – GER