How do I add a auto_increment primary key in SQL Server database?(如何在 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 主键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 SQL Server 数据库中添加 auto_increment 主键?
基础教程推荐
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- 是否可以执行按位分组功能? 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 无法解决整理冲突 2021-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
