English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos PostgreSQL

Tutoriales avanzados PostgreSQL

Interfaz PostgreSQL

AUTO INCREMENT (aumento automático) de PostgreSQL

AUTO INCREMENT (crecimiento automático) genera un número único cuando se inserta un nuevo registro en la tabla.

PostgreSQL utiliza secuencias para identificar el crecimiento automático de los campos, los tipos de datos incluyen smallserial, serial y bigserial. Estas propiedades son similares a la propiedad AUTO_INCREMENT admitida por la base de datos MySQL.

La declaración para configurar el crecimiento automático en MySQL es la siguiente:

CREATE TABLE IF NOT EXISTS `w3codebox_tbl(`
   `w3codebox_id` INT UNSIGNED AUTO_INCREMENT,
   `w3codebox_title` VARCHAR(100) NOT NULL,
   `w3codebox_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `w3codebox_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

MySQL utiliza la propiedad AUTO_INCREMENT para identificar el crecimiento automático de los campos.

PostgreSQL utiliza secuencias para identificar el crecimiento automático de los campos:

CREATE TABLE w3codebox
(
    id serial NOT NULL,
    alttext text,
    imgurl text
)}}

Rango de SMALLSERIAL、SERIAL y BIGSERIAL:

Tipo de pseudoTamaño de almacenamientoRango
SMALLSERIAL2bytes1 a 32,767
SERIAL4bytes1 a 2,147,483,647
BIGSERIAL8bytes1 a 922,337,2036,854,775,807

Sintaxis

SERIAL  La sintaxis básica del tipo de datos es la siguiente:

CREATE TABLE tablename (
   colname SERIAL
);

Ejemplo en línea

Supongamos que queremos crear una tabla COMPANY y crear los siguientes campos:

w3codeboxdb=# CREATE TABLE COMPANY(
   ID  SERIAL PRIMARY KEY,
   NAME           TEXT      NOT NULL,
   AGE            INT       NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

Ahora insertamos algunos registros en la tabla:

INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ( 'Paul', 32, 'California', 20000.00 );
INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ('Allen', 25, 'Texas', 15000.00 );
INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ('Teddy', 23, 'Norway', 20000.00 );
INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ( 'Mark', 25, 'Rich-Mond ', 65000.00 );
INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ( 'David', 27, 'Texas', 85000.00 );
INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ( 'Kim', 22, 'South-Hall', 45000.00 );
INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ( 'James', 24, 'Houston', 10000.00 );

Ver los registros de la tabla COMPANY como se muestra a continuación:

 id | name  | age | address    | salary
----+-------+-----+------------+--------
  1 | Paul  |  32 | California |  20000
  2 | Allen |  25 | Texas      |  15000
  3 | Teddy |  23 | Norway     |  20000
  4 | Mark  |  25 | Rich-Mond  |  65000
  5 | David |  27 | Texas      |  85000
  6 | Kim   |  22 | South-Hall |  45000
  7 | James |  24 | Houston    |  10000