数据库表ID怎么设置自动增长

数据库表ID怎么设置自动增长,第1张

数据库表ID设置实现能自动增长的步骤如下(以TB_News表为例):

步骤1:首先检查你的新闻表ID列的数据类型,要设置为自增列,需要该列的数据类型为int或者bigint等数值类型

步骤2:打开sqlserver management studio,右键点击你的新闻表,选择“设计”

步骤3:在第1步打开的表结构设置界面,点击你的列“ID”,在底下的列属性设置界面做如下设置:

进行完以上步骤,即可在该数据表中插入数据时,不用给ID列赋值,ID列的值会自动生成,并且该列的值会自动增长。

你的写法是  SQL Server 的写法

DB2 的写法如下:

db2 => CREATE TABLE test_create_tab2 (

db2 (cont.) =>   id INT NOT NULL PRIMARY KEY generated always as identity,

db2 (cont.) =>   val  VARCHAR(10)

db2 (cont.) => )

DB20000I  SQL 命令成功完成。

db2 => INSERT INTO test_create_tab2(val) VALUES ('NO id')

DB20000I  SQL 命令成功完成。

如果你需要设置  自动递增的 起始数值的话。

参考下面的例子。

db2 => drop TABLE test_create_tab2

DB20000I  SQL 命令成功完成。

db2 => CREATE TABLE test_create_tab2 (

db2 (cont.) =>   id INT NOT NULL PRIMARY KEY generated always as identity

db2 (cont.) =>   (Start With 100

db2 (cont.) =>    Increment by 1

db2 (cont.) =>    minvalue 100

db2 (cont.) =>    maxvalue 999999999

db2 (cont.) =>    no cycle cache 5 no order),

db2 (cont.) =>   val  VARCHAR(10)

db2 (cont.) => )

DB20000I  SQL 命令成功完成。

可以通过工具获得其DML如下:

CREATE TABLE RTTS.T1(CUSTOMER_ID CHAR(20) NOT NULL, PRODUCT_ID INTEGER NOT NULL)

接下来,要创建一个类似的表,但要多增加一个自增的ID字段,建表语句如下:

CREATE TABLE RTTS.T2(id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY(START WITH 1,INCREMENT BY 1,NO CACHE) PRIMARY KEY,CUSTOMER_ID CHAR(20) NOT NULL, PRODUCT_ID INTEGER NOT NULL)

注意id这个字段不一定非要是主键,更可以换成别的名。你完全可以根据自己情况调整的。

再接下来,需要把原有表的数据导入到新表里,采用如下语句:

INSERT INTO RTTS.T2(CUSTOMER_ID,PRODUCT_ID) SELECT CUSTOMER_ID,PRODUCT_ID FROM RTTS.T1

然后,删除掉原来的表(为安全起见,可以改名,待新表数据确认无误再删除):

drop table RTTS.T1

再将新表改名:

RENAME TABLE "RTTS"."T2" TO "T1"

最后看一眼“新的”T1表!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10002035.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存