Um mehrere Felder hervorzuheben, klicken Sie auf die Blöcke vor den Spalten "Spaltenname" und "Datentyp" und so weiter. Strg / Umschalt + Klicken Sie auf die Spaltennamenfelder, um nichts zu tun.
Pimgd
3
Wenn also einer ein String und der andere ein Int ist, ist das nicht möglich? Scheint nicht zu sein ...
B. Clay Shannon
3
Ich würde dies ablehnen, aber dann wurde mir klar, dass das OP speziell gefragt hat, wie es in SSMS gemacht werden soll. Sie sollten Datenbankänderungen immer
per Skript ausführen.
2
@JonnyLeeds das ist ein sehr hohes Pferd, auf dem du bist. Was ist los mit GUI, wenn die Leute das bevorzugen?
leinad13
4
@ leinad13 Ich muss einen schlechten Tag gehabt haben! Das Hauptproblem ist jedoch, dass sie nicht wiederholbar sind und im Allgemeinen unkontrollierte Ad-hoc-Änderungen und Optimierungen vornehmen, um Datenbank- / Schemaprobleme zu beheben. Das ist ein sehr schlechtes Zeichen - sie sind nicht dokumentiert (z. B. indem der zu korrigierende Code notiert und in die Versionskontrolle eingecheckt wird und / oder ein Tool vorhanden ist, das automatisch die richtigen Änderungen auf die Datenbankversion anwendet) und wenn Sie mehr als eine haben Installation dann sind Sie in ernsthaften Schwierigkeiten, sobald die Datenbanken nicht das gleiche Schema haben
JonnyRaa
63
Hier ist ein Code, um es zu tun:
-- Sample Tablecreatetable myTable
(
Column1 int notnull,
Column2 int notnull)
GO
-- Add ConstraintALTERTABLE myTable
ADDCONSTRAINT pk_myConstraint PRIMARYKEY(Column1,Column2)
GO
Ich habe die Einschränkung als separate Anweisung hinzugefügt, da ich davon ausgehe, dass Ihre Tabelle bereits erstellt wurde.
Ich denke, diese Antwort passt, da Sie diese im Abfragefenster von SSMS ausführen können ...;)
dance2die
2
Scripting FTW und zur expliziten Benennung! Die externen ADD PRIMARY KEYund internen PRIMARY KEYDefinitionen geben den Schlüsseln zufällige Namen, was es für den Bajingo zu einem Problem machen kann, herauszufinden, wo er hingehört, wenn Sie nicht über das DB-Diagramm + Tabellen verfügen.
Daevin
35
createtable my_table (
id_part1 int notnull,
id_part2 int notnull,primarykey(id_part1, id_part2))
Markieren Sie beide Zeilen in der Tabellenentwurfsansicht und klicken Sie auf das Schlüsselsymbol. Sie werden nun zu einem zusammengesetzten Primärschlüssel.
Ich bin mir Ihrer Frage nicht sicher, aber nur eine Spalte pro Tabelle kann eine IDENTITY-Spalte sein, nicht beide.
Hier ist ein Code, um es zu tun:
Ich habe die Einschränkung als separate Anweisung hinzugefügt, da ich davon ausgehe, dass Ihre Tabelle bereits erstellt wurde.
quelle
ADD PRIMARY KEY
und internenPRIMARY KEY
Definitionen geben den Schlüsseln zufällige Namen, was es für den Bajingo zu einem Problem machen kann, herauszufinden, wo er hingehört, wenn Sie nicht über das DB-Diagramm + Tabellen verfügen.quelle
Markieren Sie im Entwurfsmodus (Rechtsklick-Tabelle auswählen Ändern) beide Spalten mit der rechten Maustaste und wählen Sie Primärschlüssel festlegen
quelle
Öffnen Sie den Tabellen-Designer in SQL Server Management Studio (klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie "Design").
Wenn Sie die Strg-Taste gedrückt halten, markieren Sie zwei oder mehr Spalten am linken Tabellenrand
Drücken Sie die kleine Taste in der Standardmenüleiste oben
Du bist fertig..
:-)
quelle
Markieren Sie beide Zeilen in der Tabellenentwurfsansicht und klicken Sie auf das Schlüsselsymbol. Sie werden nun zu einem zusammengesetzten Primärschlüssel.
Ich bin mir Ihrer Frage nicht sicher, aber nur eine Spalte pro Tabelle kann eine IDENTITY-Spalte sein, nicht beide.
quelle
quelle