SqlServer使用类似MySql的自动增量主键创建表
我想在SqlServer中创建一个表,在插入时添加一个自动递增的主键。这应该是一个类似于MySql自动增量功能的自动增量id。(下文) 有没有一种方法可以在不创建插入触发器的情况下执行此操作?只需像这样将字段设置为SqlServer使用类似MySql的自动增量主键创建表,mysql,sql-server,auto-increment,Mysql,Sql Server,Auto Increment,我想在SqlServer中创建一个表,在插入时添加一个自动递增的主键。这应该是一个类似于MySql自动增量功能的自动增量id。(下文) 有没有一种方法可以在不创建插入触发器的情况下执行此操作?只需像这样将字段设置为 create table foo ( user_id int not null identity, name varchar(50) ) 将字段声明为identity正如其他人所说,只需设置identity选项。如上所述,使用identity字段 CREATE TA
create table foo
(
user_id int not null identity,
name varchar(50)
)
将字段声明为identity正如其他人所说,只需设置identity选项。如上所述,使用identity字段
CREATE TABLE foo
(
user_id int IDENTITY(1,1) NOT NULL,
name varchar(50)
)
OP请求了一个自动递增的主键。IDENTITY关键字本身并不使列成为主键
CREATE TABLE user
(
TheKey int IDENTITY(1,1) PRIMARY KEY,
Name varchar(50)
)
正如其他人提到的:将IDENTITY属性添加到列中,并使其成为主键
CREATE TABLE user
(
TheKey int IDENTITY(1,1) PRIMARY KEY,
Name varchar(50)
)
然而,MSSQL的标识和MySQL的自动增量之间存在差异:
- MySQL需要一个唯一的
约束(通常以
主键)可以为
自动增量列。
MSSQL没有这样的要求 - MySQL允许您手动将值插入到自动增量列中。
MSSQL阻止您手动将值插入标识中 栏目;如果需要,您可以覆盖 这是通过发出一个“集合”来实现的 标识\u在“”上插入表名 插入之前的命令 - MySQL允许您更新自动增量列中的值。
MSSQL拒绝更新自动增量列中的值 标识列