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,
...
);
本文介绍了在多种主流数据库中如何创建带有自增ID字段的表。涵盖了DB2、Oracle、MySQL、PostgreSQL、SQL Server及Sybase等数据库系统的具体实现方式。
1万+

被折叠的 条评论
为什么被折叠?



