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

دليل أساسي PostgreSQL

دليل متقدم PostgreSQL

واجهة PostgreSQL

AUTO INCREMENT PostgreSQL

AUTO INCREMENT (الزيادة التلقائية) يولد رقمًا فريدًا عند إدراج سجل جديد في الجدول.

استخدام سلسلة PostgreSQL لتحديد الحقول المزدوجة النامية، وتصنيفات البيانات هي smallserial،serial و bigserial. هذه الخاصيات تشبه خاصية AUTO_INCREMENT لدعم قاعدة بيانات MySQL.

استخدام جملة MySQL لضبط الزيادة التلقائية كالتالي:

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 يستخدم خاصية AUTO_INCREMENT لتحديد الحقول المزدوجة النامية.

استخدام سلسلة PostgreSQL لتحديد الحقول المزدوجة النامية:

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

مجال SMALLSERIAL،SERIAL و BIGSERIAL هي:

نوع وهميحجم التخزينمجال
SMALLSERIAL2 بايتمن 1 إلى 32,767
SERIAL4 بايتمن 1 إلى 2,147,483,647
BIGSERIAL8 بايتمن 1 إلى 9,223,372,036,854,775,807

النحو

النحو الأساسي للنوع SERIAL هو كما يلي:

CREATE TABLE tablename (
   colname SERIAL
);

مثال على الإنترنت

افترض أننا نريد إنشاء جدول COMPANY، وأن ننشئ المجالات التالية:

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

الآن قم بإدخال بعض السجلات في الجدول:

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);

عرض سجلات جدول COMPANY كما يلي:

 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