Saya memiliki tabel yang sudah ada yang akan saya hancurkan karena saya tidak membuatnya dengan ID
kumpulan kolom menjadi kolom Identitas tabel.
Dengan menggunakan SQL Server Management Studio , saya membuat skrip "Buat Ke ..." dari tabel yang ada dan mendapatkan ini:
CREATE TABLE [dbo].[History](
[ID] [int] NOT NULL,
[RequestID] [int] NOT NULL,
[EmployeeID] [varchar](50) NOT NULL,
[DateStamp] [datetime] NOT NULL,
CONSTRAINT [PK_History] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Pertanyaan saya adalah, bagaimana saya memodifikasi ini SQL
sehingga tabel yang saya hasilkan memiliki ID
kolom yang ditetapkan sebagai Identitas ?
sql
sql-server
tsql
jp2code
sumber
sumber
Jawaban:
sumber
PK_History
nilainya menjadiID
atau apa pun?Ini sudah dijawab, tapi menurut saya sintaks yang paling sederhana adalah:
Indeks kendala yang lebih rumit berguna saat Anda benar-benar ingin mengubah opsi.
Ngomong-ngomong, saya lebih suka memberi nama kolom seperti HistoryId, sehingga cocok dengan nama kolom dalam hubungan kunci asing.
sumber
ID int constraint PK_History primary key identity(1,1)
Aku percaya.NOT NULL
berlebihan.tentu saja karena Anda membuat tabel di SQL Server Management Studio, Anda dapat menggunakan desainer tabel untuk menetapkan Spesifikasi Identitas.
sumber
Kunci unik memungkinkan maks 2 nilai NULL. Penjelasan:
Jika Anda mencoba memasukkan nilai yang sama seperti di bawah ini:
Setiap kali Anda akan mendapatkan kesalahan seperti:
sumber
ID
kolom unik , bukanName
kolomnya. Mengapa Anda menambahkan batasan unik keName
kolom? Apa manfaatnya bagi Anda diteppp
meja Anda ?