SQL数据库问题。Tables中的数据设置。如何能让BH中显示出AUTOID中的数据。

SQL数据库问题。Tables中的数据设置。如何能让BH中显示出AUTOID中的数据。,第1张

在同一个表里数拿乎据完全相同的两列没有实际意义。

如果只是希望查询时BH列也显示AUTOID的值,就可以在查询中用握拦别段敏胡名。

Select AUTOID AS BH, NAME, AUTOID FROM CY_Set_KouWei2

如果想要讲表中BH列的值改为AUTOID列的内容,可以:

UPDATE CY_Set_KouWei2 SET BH = AUTOID

首先码却保你这张表亏枯中没有PRIMARY KEY,如果有先删除这张表中辩滑的 PRIMARY KEY,

然携空腊后创建一个自增长字段

语法如下:

ALTER TABLE `表名` ADD `字段名` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY

例如:

ALTER TABLE `custnew` ADD `cust_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY

Oracle中不向其它数据库一样,有自动增长型数据类型,但可以变通处理

数据表信息为 Test(TID,TNAME),需要把TID设置为自动增值型字段,TID一般是int型

首先 新建一个序列AUTOID,以磨派后其它表或触发器也可调用:

起始为1 增值为1 顺序增值

CREATE SEQUENCE AUTOID

INCREMENT BY 1

START WITH 1

NOMAXVALUE

NOCYCLE

CACHE 10

然后建立触发器代码如下:

Test表 TID字段 AUTOID序列 不要更改DUAL临时表名

CREATE TRIGGER TRG_AutoID BEFORE

INSERT ON TEST

FOR EACH ROW begin

SELECT AUTOID.NEXTVAL

INTO :NEW.TID

FROM DUAL

End TRG_AutoID

最后瞎搜贺SQL测漏袭试 insert into Test(tname) values('abc')

当然也可以采用 insert into Test(TID,tname) values(AUTOID.nextval,'libin')

在选择Select时,注意有两对:

AUTOID.currval表示当前行的ID值

AUTOID.nextval 表示当前行的ID+1值

例:SELECT empseq.currval FROM DUAL


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

原文地址: http://outofmemory.cn/bake/8035121.html

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

发表评论

登录后才能评论

评论列表(0条)

保存