`
Horse_Chasing
  • 浏览: 7898 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PostgreSQL主键自增方法

 
阅读更多

PG主键自增,方式跟oracle类似
1、首先创建序列
CREATE SEQUENCE test_c_id_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;
[size=14px;] [/size]
[size=14px;][size=14px;][size=14px;]2、如果表已经存在了,则执行下面语句:[/size][/size][/size]
alter table test_c alter column id set default nextval('test_c_id_seq');
[size=14px;] [/size]
[size=14px;]3、如果表不存在,则:[/size]
[size=14px;]create table table_name([/size]
[size=14px;]     id int not null primary key default nextval('id_seq'),[/size]
[size=14px;]     name varchar(30)
[/size]

[size=14px;])[/size]


所有博客已经转移至leanote:http://blog.leanote.com/shiwei/

或者:http://luoshiwei.me/
分享到:
评论

相关推荐

    支持主键自增的数据库获取主键值.zip

    对于支持主键自增的数据库,如MySQL、SQLite、PostgreSQL等,系统会自动为每个新插入的记录生成一个唯一的主键值,无需手动设置。 在Java开发中,MyBatis作为一个轻量级的持久层框架,广泛应用于数据操作。MyBatis...

    SQLite3中自增主键相关知识总结

    在其他数据库系统中,如MySQL或PostgreSQL,可以使用TRUNCATE TABLE命令快速清空表并重置自增主键。然而,SQLite3不支持TRUNCATE TABLE,而是建议使用DELETE FROM TableName语句来达到相同的效果。在SQLite中,删除...

    mybatis获取自增主键的值

    自增主键通常在关系型数据库如MySQL、PostgreSQL中使用。它们会在每次插入新记录时自动递增,确保生成唯一的ID。在MySQL中,这可以通过设置`AUTO_INCREMENT`属性来实现。 2. **MyBatis的自动映射机制**: MyBatis...

    04_传智播客JPA详解_第一个JPA实例与JPA主键生成策略

    1. **IDENTITY**:依赖于数据库自增机制,适用于MySQL、SQL Server等支持自动增长的数据库。 2. **SEQUENCE**:使用数据库序列,适用于Oracle、PostgreSQL等支持序列的数据库。 3. **TABLE**:通过特定的表来生成...

    postgresql导入数据库表并重设自增属性

    注:一般序列名称由数据表名+主键字段+seq组成 (通常情况下主键字段即为自增字段),如下表名为cof_table_hot_analysis,主键字段为 id CREATE SEQUENCE cof_table_hot_analysis_id_seq START WITH 1 INCREMENT...

    DB2到GreenPlum/PostgreSQL的转换指南

    - **主键**:DB2中的主键定义与GreenPlum/PostgreSQL相似,但需要注意的是,在GreenPlum/PostgreSQL中,主键约束通常会自动创建一个唯一索引。 - **外键**:DB2支持外键约束,但在GreenPlum/PostgreSQL中,外键约束...

    1.5-PostgreSQL对象-关系数据库系统软件.ppt

    4. **序列(Sequence)对象**:生成唯一的整数序列,常用于主键自增字段。 5. **函数(Function)对象**:用户可以定义的可重复使用的代码块,可以接受参数并返回值,增强了SQL的表达能力。 6. **触发器(Trigger)...

    Hibernate主键策略-sequence

    Hibernate还提供了其他主键生成策略,如`increment`(适用于单线程环境),`identity`(数据库自增,如MySQL),`table`(通过独立的主键生成表)等,开发者应根据具体需求选择合适的策略。 6. **跨数据库兼容性**...

    hibernate的主键生成策略

    它不依赖于数据库的序列或自增功能,因此可以跨数据库使用。然而,由于它是基于Java的同步机制,当多个JVM并发访问时可能会出现主键冲突。所以,它适用于单进程环境,不适合集群环境。 3. **hilo**(高低位方式):...

    Hibernate各种主键生成策略与配置详解

    increment策略由Hibernate在内存中自增生成主键,不依赖于数据库。它通过查询当前表的最大ID值,然后在内存中递增生成新的主键。由于这个过程不是线程安全的,因此在多JVM环境下可能会导致主键冲突。仅适用于单个...

    最新的若依框架postgresql版本

    3. SQL语法差异:MySQL和PostgreSQL的SQL语法有一些不同,如日期时间函数、自增主键等。在迁移过程中,可能需要对原有的SQL语句进行调整,以适应PostgreSQL的语法。 4. ORM框架兼容性:若依框架通常使用MyBatis或...

    浅析常用数据库的自增字段创建方法汇总

    在数据库设计中,自增字段通常用于记录表中的唯一标识符,例如主键,它会自动递增,每次插入新记录时都会自动生成一个新值。以下是对几种常见数据库管理系统(DBMS)创建自增字段的方法的详细说明: 1. **DB2**: ...

    PostgreSQL Developer s Guide

    - **注意**: 这会释放所有数据并重置自增ID,但保留表结构。 ##### 3. Inserting, Updating, and Deleting Data from Tables - **插入数据(Inserting Data)** - **基本语法**: `INSERT INTO table_name (column1,...

    PostgreSQL数据库培训学习手册 .pdf

    - 自增字段(SERIAL类型):PostgreSQL提供了一种特殊的数据类型SERIAL,用于自增字段的创建,类似于Oracle中的自增关键字。 2. 约束条件: - 检查约束(CHECK):用于确保列中的值满足特定的条件,比如价格大于...

    深入分析mysql为什么不推荐使用uuid或者雪花id作为主键

    前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?...

    Laravel开发-laravel-postgresql-inherit

    本主题"laravel-postgresql-inherit"聚焦于在Laravel中利用PostgreSQL的表继承特性,这是一种提高数据库设计灵活性和效率的方法。 在PostgreSQL中,表继承允许一个表(父表)共享其结构和数据给其他表(子表)。这...

    Hibernate用UUID作为主键的Demo

    在使用UUID作为主键时,数据库表对应的主键字段应设置为足够的长度,如MySQL的`CHAR(36)`或PostgreSQL的`VARCHAR(36)`,以容纳32位十六进制字符串加上4个破折号。 ### 6. 测试与运行 在实际项目中,你可以创建一个...

    beego-self-increment代码.zip

    1. 数据库自增:在大多数关系型数据库(如MySQL、PostgreSQL等)中,可以设置某个字段为自增主键,每次插入新记录时,数据库会自动递增该字段的值。这是最常见且简单的方法,但依赖于数据库。 2. 应用程序内自增:...

    PostgreSQL 实用实例参考

    在PostgreSQL中,可以使用`CREATE TABLE`语句定义表结构,包括数据类型(如INT、VARCHAR、DATE等)、主键约束、外键约束等。例如: ```sql CREATE TABLE employees ( id SERIAL PRIMARY KEY, name VARCHAR(50), ...

Global site tag (gtag.js) - Google Analytics