Ser*_*pia 34 sql t-sql sql-server
create table ImagenesUsuario
{
idImagen int primary key not null IDENTITY
}
Run Code Online (Sandbox Code Playgroud)
这不起作用.我怎样才能做到这一点?
ric*_*ent 68
只需简单的语法更改即可:
create table ImagenesUsuario (
idImagen int not null identity(1,1) primary key
)
Run Code Online (Sandbox Code Playgroud)
通过显式使用"constraint"关键字,您可以为主键约束指定一个特定名称,而不是依赖于SQL Server来自动指定名称:
create table ImagenesUsuario (
idImagen int not null identity(1,1) constraint pk_ImagenesUsario primary key
)
Run Code Online (Sandbox Code Playgroud)
添加"CLUSTERED"关键字,如果根据您对表的使用最有意义(即,特定idImagen的搜索余额和写入量超过了通过其他索引对表进行聚类的好处).
这类似于我们在团队中生成的脚本.首先创建表,然后应用pk/fk和其他约束.
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]
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您使用T-SQL
的是 ,那么您的代码唯一的错误是您使用了大括号{}
而不是圆括号()
。
PS:两者IDENTITY
和PRIMARY KEY
暗示NOT NULL
,所以如果你愿意,你可以省略。