English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 pseudo | Tamaño de almacenamiento | Rango |
---|---|---|
SMALLSERIAL | 2bytes | 1 a 32,767 |
SERIAL | 4bytes | 1 a 2,147,483,647 |
BIGSERIAL | 8bytes | 1 a 922,337,2036,854,775,807 |
SERIAL La sintaxis básica del tipo de datos es la siguiente:
CREATE TABLE tablename ( colname SERIAL );
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