Sie können nur eine Primärschlüssel- oder Identitätsspalte in jeder Tabelle in SQL Server haben.
Wenn Sie eine weitere Spalte als Primärschlüssel haben möchten, können Sie die Kombination der Spalten als Primärschlüssel verwenden.
Oder Sie können die Einschränkungen eingestellt UNIQUE
und NOT NULL
an den Säulen, so dass sie als Primärschlüssel gleichen handeln (aber diese Spalten können nicht als Fremdschlüssel bezeichnet)
Bei Auto inkrementelle Spalten (Identität), Sie können nur 1 Identitätsspalte pro Tabelle haben. Es kann auch als Primärschlüssel festgelegt werden. Andernfalls, wenn Sie mehrere Spalten als Autoinkrement benötigen, können Sie wahrscheinlich eine berechnete Spalte, einen Trigger oder ein sequence
Objekt verwenden, von dem Sie die Werte für jeden Datensatz abrufen können
Sie können nicht 2 Primärschlüssel haben! [Das steht auch hier!] (Https://docs.microsoft.com/en-us/sql/relational-databases/tables/create-primary-keys) –
Was Sie zur Zeit haben können, ist ein * zusammengesetzter * Primärschlüssel . Wenn dies der Fall ist, müssen Sie klar sagen, ob Sie versuchen * eine weitere Spalte zu diesem zusammengesetzten Schlüssel * hinzuzufügen oder ob Sie einen * separaten * Sekundärschlüssel deklarieren möchten. Wie Radu sagt, gibt es nur 1 PK pro Tisch. –
Er kann dem vorhandenen PrimaryKey eine weitere Spalte hinzufügen, obwohl die anderen Spalten bei einer Identitätsspalte einen eindeutigen Index haben sollten, anstatt Teil des Primärschlüssels zu sein. –