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

本篇文章是对常用数据库的自增字段创建方法进行了全面的汇总介绍,需要的朋友参考下
 

DB2

复制代码 代码如下:

CREATE   TABLE  T1
(
   id  INTEGER   NOT   NULL  GENERATED ALWAYS  AS   IDENTITY  (START  WITH   1  INCREMENT  BY   1  MINVALUE  1  NO MAXVALUE NO CYCLE NO CACHE  ORDER ),
   ...
);

Oracle(需要创建一个SEQUENCE和一个TRIGGER):

复制代码 代码如下:

CREATE TABLE T1
(
   id NUMBER(10,0) NOT NULL,
   ...
);
CREATE SEQUENCE T1_ID_SEQ INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE CACHE 100 ORDER;
CREATE OR REPLACE TRIGGER INSERT_T1_ID
BEFORE INSERT ON T1
REFERENCING NEW AS new OLD AS old
FOR EACH ROW
BEGIN
    SELECT T1_ID_SEQ.NEXTVAL INTO :new.id FROM DUAL;
END;

MySQL

复制代码 代码如下:

CREATE TABLE T1
(
   id INT NOT NULL AUTO_INCREMENT,
   ...
);

PostgreSQL

复制代码 代码如下:

CREATE TABLE T1
(
   id SERIAL NOT NULL,
   ...
);

SQL Server

复制代码 代码如下:

CREATE TABLE T1
(
   id INT NOT NULL IDENTITY,
   ...
);

Sybase

复制代码 代码如下:

CREATE TABLE T1
(
   id INT NOT NULL IDENTITY,
   ...
);

时间: 2024-12-28 11:19:46

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

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

DB2 复制代码 代码如下: CREATE   TABLE  T1(   id  INTEGER   NOT   NULL  GENERATED ALWAYS  AS   IDENTITY  (START  WITH   1  INCREMENT  BY   1  MINVALUE  1  NO MAXVALUE NO CYCLE NO CACHE  ORDER ),   ...); Oracle(需要创建一个SEQUENCE和一个TRIGGER): 复制代码 代码如下: CREATE TABL

oracle自增列创建方法收藏

  oracle自增列创建方法收藏 Oracle没有自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现. 先建一个测试表了: create table userlogin ( id number(6) not null, name varchar2(30) not null primary key ) tablespace users / 第一步:创建SEQUENCE create sequence userlogin_seq increment by 1 s

c++获取sqlite3数据库表中所有字段的方法小结_C 语言

常用方法: 1.使用sqlite3_get_table函数 2.获取sqlite创建表的sql语句字符串,然后进行解析获取到相应的字段 3.采用配置文件的方式,将所有字段名写入配置文件 下面针对这三个方法给大家逐一详细介绍. 方法1:使用sqlite3_get_table函数 代码: char *dbname = "test.db"; int rc = sqlite3_open(dbname, &db); if (rc == SQLITE_OK) { char sql[256]

Oracle数据库TNS常见错误的解决方法汇总_oracle

TNS是Oracle Net的一部分,是专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,就必须配置TNS.本文主要讲述了Oracle数据库TNS常见错误的解决方法如下: 1.ORA-12541:TNS:没有监听器 原因:没有启动监听器或者监听器损坏.若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用"Net Configuration Assistant"

Hibernate如何与Firebird数据库自增字段映射

Firebird 本身是没有自增型字段,但可以通过序列键产生器和触发器共同来实现,步骤如下: CREATE TABLE my_table (my_number integer not null primary key)CREATE GENERATOR my_generator CREATE TRIGGER my_before_trigger FOR my_table BEFORE INSERT AS BEGIN IF (NEW.my_number IS NULL) THEN NEW.my_num

mysql数据库如何设置一个字段不重复,一个字段自增?

问题描述 mysql数据库如何设置一个字段不重复,一个字段自增? 如题. mysql数据库如何设置一个字段不重复,一个字段自增? 解决方案 CREATE TABLE t_user (Id int(11) NOT NULL AUTO_INCREMENT, -- 自增username varchar(18) NOT NULL unique, -- 唯一性约束password varchar(18) NOT NULL, PRIMARY KEY (Id) ) ENGINE=InnoDB AUTO_INC

数据库-Oracle中重复率很高的字段创建B树索引,为什么性能可以得到大幅提升

问题描述 Oracle中重复率很高的字段创建B树索引,为什么性能可以得到大幅提升 请教一个让我不解的问题: 我有一张表TT,数据大概是240W,其中的一个字段COL1的值只有'0'和'1'两个.现在有如下查询:SELECT COL2,SUM(NVL(COL3,0) * nvl(COL4,0)) FROM TT WHERE COL1 = '0' GROUP BY COL2; 在查询耗时大概是 50s. 为了提高性能,在TT表的COL1字段上创建了位图索引,查询耗时变为 2s 但是由于我需要对TT表

java采集网页信息,并获取到所需要的信息存入数据库中对应的字段中去 (可以自动创建表头)

问题描述 java采集网页信息,并获取到所需要的信息存入数据库中对应的字段中去 (可以自动创建表头) "java采集网页信息,并获取到所需要的信息存入数据库中对应的字段中去 "创建好数据库的情况下可以插入对应数据了,现在我想实现自动创建表头,请问如何实现?请各位大大支招^_^ 解决方案 用正则表达式http://www.cnblogs.com/longwu/archive/2011/12/24/2300110.html 解决方案二: 没有你想象中的这么智能,要采集什么网页信息,入到什么

看实例学VFP:利用多个表中的字段创建新表

本例中再来复习一下select语句中的inner join子句的知识,关于select语句请参考:select SQL 命令 或sql语言教程.本例的主要操作是在表单的init事件中完成的,在该事件中进行连接查询并将查询结果输出为一个临时表(该表包括了"人员信息表"的"姓名,性别,基本工资"3个字段以及"工资表"的"奖金,生活补助,养老保险"3个字段),最后将该表设为表格控件的数据源.本例应用到了数据环境,并使用"数