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/proc' 被标记为崩溃,应该修复 2022-01-01
- 在多列上分布任意行 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
