SQLServer、MySQL、PostgreSQL自增长列

本文详细介绍了在SQLServer、MySQL及PostgreSQL三种数据库中,如何在创建表时设置列名为自增ID,以及如何在已有表中添加自增ID列的方法。包括SQLServer使用IDENTITY,MySQL使用AUTO_INCREMENT,PostgreSQL使用SERIAL或SEQUENCE的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、SQLServer
创建时

列名 INTEGER IDENTITY(1, 1) 	# 第一个1为开始值,第二个为步长

添加时(先删除要添加自增的列,适合没有添加数据的表)

ALTER TABLE 表名 DROP COLUMN 列名

ALTER TABLE 表名 ADD 列名 INTEGER IDENTITY(1, 1)

添加时(适用于有数据的表)

DECLARE @I INTEGER 

SET @I = 0	# 这里是@i的初始值,不是列的初始值,列要比@i多1

UPDATE TEST SET @I = @I + 1, 列名 = @I	# 注意这里的初始值为0 + 1 = 1

2、MySQL

创建时

列名 INTEGER AUTO_INCREMENT

添加时

ALTER TABLE 表名 MODIFY 列名 INTEGER AUTO_INCREMENT

3、PostgreSQL
创建时

列名 SERIAL	#4字节,默认为整型

添加时

CREATE SEQUENCE AUTO_INCREMENT
START WITH 1	# 初始值
INCREMENT BY 1	# 增加值
NO MINVALUE
NO MAXVALUE
CACHE 1
ALTER TABLE 表名 ALTER COLUMN 列名 SET DEFAULT NEXTVAL('AUTO_INCREMENT')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值