mysql 支持sequence吗

mysql 支持sequence吗,第1张

字段自增即标识列,它是表层面的,它是列的一种属性,标识列的作用是在表(仅限单个表)中添加行时自动生成列值;sequence序列是一种数据库对象,它相对于表来说是独立的,它特别适合生成唯一键值这个任务,序列不与特定表列相关,任何SQL语句都可以使用序列的值。

使用下面的语句查看下你当前的序列最小值是多少

SELECT

FROM USER_SEQUENCES

WHERE SEQUENCE_NAME = '你的序列名(大小写注意)';

序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号

如果最小值是4001,而你的第一个生成的却是4002,(猜测)那么可能是你同学的oracle序列生成器在起初就开始自动加1了。

使用以下试试:

ALTER SEQUENCE 序列名 RESTART WITH 4001;

在不行,我看只能换oracle软件了。

我自己试了下,也没出现这种情况,对于你同学出现的这种情况我是有点郁闷,这是为什么呢?人品问题么?还是今天机子吃了豹子胆敢该oracle公司的生成器,呀的活的不耐烦了,当然不排除自己不小心改掉了。。。(以上纯属个人看法,希望不要对我发表攻击性语言)

postgresql中一个序列对象通常用于为行或者表生成唯一的标识符。查看序列:psql

\d

命令输出一个数据库对象,包括

Sequence,表,视图和索引。你还可以使用

\ds

命令只查看当前数据库的所有序列。例如:pigdb-#

\ds

List

of

relations

Schema

|

Name

|

Type

|

Owner--------+-----------------------+----------+--------

public

|

author_ids

|

sequence

|

ichexw

public

|

shipments_ship_id_seq

|

sequence

|

ichexw(2

rows)

、SQL Server 可以在表中直接设定某个字段为自增序列字段,来得比ORACLE容易得多,具体 *** 作参看下图:

(当然,也可以使用建表语句或修改表的语句来实现。)

相关知识点延伸:

1、MS SQL 没有特定的 dual 表,也没有系统级的sequence。

2、Sequence是数据库系统的特性,有的数据库实现了Sequence,有的则没有。比如Oracle、DB2、PostgreSQL数据库实现Sequence,MySQL、SQL Server、Sybase等数据库没有Sequence。

3、但这并不表明MS SQL或ORACLE哪一个差,只是实现的思维方式,理念上的差别。

4、正是因为这两个数据库在思维、理念上有很多的差别,所以,虽然这两个是使用得最多的大型数据库,但针对Oracle设计的中大型数据库非常难移植到MS SQL上,反过来也是一样,要想移植,其工作量往往接近于重写。

以上就是关于mysql 支持sequence吗全部的内容,包括:mysql 支持sequence吗、Oracle 数据库 sequence自动增长问题、postgresql数据库怎么查询所有的序列名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9506846.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存