数据库表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_tab2DB20000I 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表!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)