Heim >Datenbank >MySQL-Tutorial >Kann eine SQL Server-Tabelle mehr als eine Identitätsspalte haben?
Kann eine SQL Server-Tabelle zwei Identitätsspalten haben?
Viele Datenbankdesigner müssen mehrere Spalten in einer Tabelle haben, die automatisch Inkrementieren, entweder für den Primärschlüssel oder für andere Zwecke. In SQL Server ist dies jedoch nicht direkt möglich. Gemäß der Transact-SQL-Referenzdokumentation:
Pro Tabelle kann nur eine Identitätsspalte erstellt werden.
Beispiel:
Bedenken Sie die folgende SQL-Anweisung , die versucht, eine Tabelle mit zwei Identitätsspalten zu erstellen:
CREATE TABLE [dbo].[Foo]( [FooId] [int] IDENTITY(1,1) NOT NULL, [BarId] [int] IDENTITY(1,1) NOT NULL )
Diese Anweisung schlägt mit Folgendem fehl Fehler:
Msg 2744, Level 16, State 2, Line 1 Multiple identity columns specified for table 'Foo'. Only one identity column per table is allowed.
Alternative Lösungen:
Wenn Sie mehrere automatisch inkrementierende Werte in einer Tabelle benötigen, ziehen Sie die folgenden alternativen Lösungen in Betracht:
Obwohl SQL Server nicht nativ mehrere Identitätsspalten unterstützt, können diese alternativen Lösungen die von Ihnen benötigte Funktionalität bereitstellen.
Das obige ist der detaillierte Inhalt vonKann eine SQL Server-Tabelle mehr als eine Identitätsspalte haben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!