乘风原创程序

    当前位置:首页>>数据库>>Mssql>>PostgreSQL 序列绑定字段与不绑定字段的区别说明
  • PostgreSQL 序列绑定字段与不绑定字段的区别说明
  • 2021/2/1 12:33:30
  • 序列绑定字段与不绑定字段的区别

    绑定字段

    构造数据

    drop sequence if exists test_id_seq;
    create sequence test_id_seq;
    drop table if exists test;
    create table test(id int default nextval('test_id_seq'), name text);
    alter sequence test_id_seq owned by test.id;

    测试

    test=# drop table test;
    drop table
    test=# \d
    did not find any relations.
    test=# 

    不绑定字段

    构造数据

    drop sequence if exists test_id_seq;
    create sequence test_id_seq;
    drop table if exists test;
    create table test(id int default nextval('test_id_seq'), name text);

    测试

    test=# drop table test;
    drop table
    test=# \d
           list of relations
     schema |  name   |  type  | owner  
    --------+-------------+----------+----------
     public | test_id_seq | sequence | postgres
    (1 row)
    
    test=# 
    

    总结

    序列绑定字段,则删除表的时候,序列会被一并删除

    序列不绑定字段,则序列与表是独立的,删除表不会将序列一并删除

    补充:pg表中字段使用序列类型以及绑定序列实例

    两种方法效果是一样的

    直接看代码

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持本教程网。如有错误或未考虑完全的地方,望不吝赐教。