如何在 SQL Server 数据库中添加 auto_increment 主键? [英] How do I add a auto_increment primary key in SQL Server database?

查看:65
本文介绍了如何在 SQL Server 数据库中添加 auto_increment 主键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我设置了一个当前没有主键的表.我需要做的就是添加一个主键,不为空,auto_increment.

I have a table set up that currently has no primary key. All I need to do is add a primary key, no null, auto_increment.

我正在使用 Microsoft SQL Server 数据库.我知道它不能在单个命令中完成,但我尝试的每个命令都不断返回语法错误.

I'm working with a Microsoft SQL Server database. I understand that it can't be done in a single command but every command I try keeps returning syntax errors.

编辑 ---------------

edit ---------------

我已经创建了主键,甚至将其设置为非空.但是,我无法设置auto_increment.

I have created the primary key and even set it as not null. However, I can't set up the auto_increment.

我试过了:

ALTER TABLE tableName MODIFY id NVARCHAR(20) auto_increment
ALTER TABLE tableName ALTER COLUMN id NVARCHAR(20) auto_increment
ALTER TABLE tableName MODIFY id NVARCHAR(20) auto_increment
ALTER TABLE tableName ALTER COLUMN id NVARCHAR(20) auto_increment

我使用 NVARCHAR 因为它不允许我在 int

I'm using NVARCHAR because it wouldn't let me set NOT NULL under int

推荐答案

它可以在一个命令中完成.您需要为自动编号"设置 IDENTITY 属性:

It can be done in a single command. You need to set the IDENTITY property for "auto number":

ALTER TABLE MyTable ADD mytableID int NOT NULL IDENTITY (1,1) PRIMARY KEY

更准确地说,设置命名表级约束:

More precisely, to set a named table level constraint:

ALTER TABLE MyTable
   ADD MytableID int NOT NULL IDENTITY (1,1),
   CONSTRAINT PK_MyTable PRIMARY KEY CLUSTERED (MyTableID)

请参阅 MSDN 上的ALTER TABLE and IDENTITY

See ALTER TABLE and IDENTITY on MSDN

这篇关于如何在 SQL Server 数据库中添加 auto_increment 主键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆