如何在 SQL Server 数据库中添加 auto_increment 主键?

How do I add a auto_increment primary key in SQL Server database?(如何在 SQL Server 数据库中添加 auto_increment 主键?)
本文介绍了如何在 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 主键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)