create table ImagenesUsuario
{
idImagen int primary key not null IDENTITY
}
To nie działa. Jak mogę to zrobić?Utwórz tożsamość SQL jako klucz podstawowy?
create table ImagenesUsuario
{
idImagen int primary key not null IDENTITY
}
To nie działa. Jak mogę to zrobić?Utwórz tożsamość SQL jako klucz podstawowy?
Prosta zmiana składni jest wszystko, co jest potrzebne:
create table ImagenesUsuario (
idImagen int not null identity(1,1) primary key
)
jawnie przy użyciu „wiązania” słowo kluczowe, można dać klucz podstawowy konkretnej nazwy zamiast w zależności od programu SQL Server do auto przypisać nazwa:
create table ImagenesUsuario (
idImagen int not null identity(1,1) constraint pk_ImagenesUsario primary key
)
Dodaj „klastrowych” słowo kluczowe, czy to największy sens opiera się na wykorzystaniu tabeli (czyli bilans wyszukiwań dla danego idImagen i ilość piśmie przewyższają korzyści klasteringu tabela według jakiegoś innego indeksu).
Jest to podobne do skryptów generowanych przez nasz zespół. Najpierw stwórz tabelę, a następnie zastosuj pk/fk i inne ograniczenia.
CREATE TABLE [dbo].[ImagenesUsuario] (
[idImagen] [int] IDENTITY (1, 1) NOT NULL
)
ALTER TABLE [dbo].[ImagenesUsuario] ADD
CONSTRAINT [PK_ImagenesUsuario] PRIMARY KEY CLUSTERED
(
[idImagen]
) ON [PRIMARY]
Czy istnieje powód, dla którego należy unikać tworzenia klucza podstawowego w instrukcji tworzenia tabeli? –
Zakładam, że pierwotnie naśladowaliśmy skrypty generowane przez narzędzia takie jak Enterprise Manager. To przekazuje, że tworzysz ograniczenie klucza podstawowego (w przeciwieństwie do właściwości kolumny). Pozwala również na określenie ograniczenia. W końcu obie metody działają, więc myślę, że to kwestia preferencji, z której łatwiej jest czytać/utrzymywać. – Mayo
Jeśli używasz T-SQL
, jedyną rzeczą złego kodu jest to, że stosowane szelki {}
zamiast nawiasów ()
.
PS: Zarówno IDENTITY
, jak i PRIMARY KEY
implikują NOT NULL
, więc możesz to pominąć, jeśli chcesz.
W przyszłości, gdy powiesz "To nie działa", rozważ wyjaśnienie, co masz na myśli. Czy w jakiś sposób po cichu zawodzi? Czy pojawia się błąd, a jeśli tak, to jaki jest błąd? Czy Twój komputer spontanicznie się płonie? Czy zawiedzie podczas tworzenia tabeli lub wstawiania wierszy do tabeli? –