Have a question?
Message sent Close
View Categories

SQL Auto Increment

6 min read

AUTO INCREMENT Field – АВТОМАТААР НЭМЭГДДЭГ Талбар #

Auto-increment allows a unique number to be generated automatically when a new record is inserted into a table.

Авто-нэмэгдэл нь шинэ мэдээллийг хүснэгтэд оруулахад автоматаар дахин давтагдашгүй дугаар үүсгэх боломжийг олгодог.

Often this is the primary key field that we would like to be created automatically every time a new record is inserted.

Ихэвчлэн энэ нь шинэ мэдээлэл оруулах бүрт автоматаар үүсгэгдэх үндсэн түлхүүр талбар юм.


Syntax for MySQL – MySQL-ийн Дүрэм  #

The following SQL statement defines the “Personid” column to be an auto-increment primary key field in the “Persons” table:

Дараах SQL өгүүлбэр нь “Хүмүүс” хүснэгтэд “Хүнid” баганыг авто-нэмэгдэл үндсэн түлхүүр талбар болгоно:

CREATE TABLE Persons (
 Personid int NOT NULL AUTO_INCREMENT,
LastName varchar(255NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (Personid)
);

MySQL uses the AUTO_INCREMENT keyword to perform an auto-increment feature.

MySQL нь AUTO_INCREMENT түлхүүр үгийг ашиглан авто-нэмэгдэл үйлдлийг гүйцэтгэдэг.

By default, the starting value for AUTO_INCREMENT is 1, and it will increment by 1 for each new record.

Өгөгдмөлөөр, AUTO_INCREMENT-ийн эхлэх утга нь 1 байдаг бөгөөд шинэ мэдээлэл бүрт 1-р нэмэгдэнэ.

To let the AUTO_INCREMENT sequence start with another value, use the following SQL statement:

AUTO_INCREMENT дарааллыг өөр утгаас эхлүүлэхийн тулд дараах SQL-г ашиглана:

ALTER TABLE Persons AUTO_INCREMENT=100;

To insert a new record into the “Persons” table, we will NOT have to specify a value for the “Personid” column (a unique value will be added automatically):

“Хүмүүс” хүснэгтэд шинэ мэдээлэл оруулахдаа “Хүнid” баганы утгыг зааж өгөх шаардлагагүй (дахин давтагдашгүй утга автоматаар нэмэгдэнэ):

INSERT INTO Persons (FirstName,LastName)
VALUES (‘Lars’,‘Monsen’);

The SQL statement above would insert a new record into the “Persons” table. The “Personid” column would be assigned a unique value. The “FirstName” column would be set to “Lars” and the “LastName” column would be set to “Monsen”.

Дээрх SQL өгүүлбэр нь “Хүмүүс” хүснэгтэд шинэ мэдээлэл оруулна. “Хүнid” баганад дахин давтагдашгүй утга оноож, “ӨөрийнНэр” баганад “Lars”, “ОвогНэр” баганд “Monsen” утгыг оруулна.


Syntax for SQL Server – SQL серверийн Дүрэм #

The following SQL statement defines the “Personid” column to be an auto-increment primary key field in the “Persons” table:

Дараах SQL өгүүлбэр нь “Хүмүүс” хүснэгтэд “Хүнid” баганыг авто-нэмэгдэл үндсэн түлхүүр талбар болгоно:

CREATE TABLE Persons (
 Personid int IDENTITY(1,1PRIMARY KEY,
LastName varchar(255NOT NULL,
FirstName varchar(255),
Age int
);

The SQL Server uses the IDENTITY keyword to perform an auto-increment feature.

SQL Сервер нь IDENTITY түлхүүр үгийг ашиглан авто-нэмэгдэл үйлдлийг гүйцэтгэдэг.

In the example above, the starting value for IDENTITY is 1, and it will increment by 1 for each new record.

Дээрх жишээнд, IDENTITY-ийн эхлэх утга нь 1 бөгөөд шинэ мэдээлэл бүрт 1-р нэмэгдэнэ.

Tip: To specify that the “Personid” column should start at value 10 and increment by 5, change it to IDENTITY(10,5).

Зөвлөгөө: “Хүнid” баганыг 10-ээс эхэлж, 5-аар нэмэгддэг болгохын тулд IDENTITY(10,5) гэж өөрчилнө.

To insert a new record into the “Persons” table, we will NOT have to specify a value for the “Personid” column (a unique value will be added automatically):

“Хүмүүс” хүснэгтэд шинэ мэдээлэл оруулахдаа “Хүнid” баганы утгыг зааж өгөх шаардлагагүй (дахин давтагдашгүй утга автоматаар нэмэгдэнэ):

INSERT INTO Persons (FirstName,LastName)
VALUES (‘Lars’,‘Monsen’);

The SQL statement above would insert a new record into the “Persons” table. The “Personid” column would be assigned a unique value. The “FirstName” column would be set to “Lars” and the “LastName” column would be set to “Monsen”.

Дээрх SQL өгүүлбэр нь “Хүмүүс” хүснэгтэд шинэ мэдээлэл оруулна. “Хүнid” баганад дахин давтагдашгүй утга оноож, “ӨөрийнНэр” баганад “Lars”, “ОвогНэр” баганд “Monsen” утгыг оруулна.

Syntax for MS Access – MS Хандалтын Дүрэм #

The following SQL statement defines the “Personid” column to be an auto-increment primary key field in the “Persons” table:

Дараах SQL өгүүлбэр нь “Хүмүүс” хүснэгтэд “Хүнid” баганыг авто-нэмэгдэл үндсэн түлхүүр талбар болгоно:

CREATE TABLE Persons (
 Personid AUTOINCREMENT PRIMARY KEY,
LastName varchar(255NOT NULL,
FirstName varchar(255),
Age int
);

The MS Access uses the AUTOINCREMENT keyword to perform an auto-increment feature.

MS Access нь AUTOINCREMENT түлхүүр үгийг ашиглан авто-нэмэгдэл үйлдлийг гүйцэтгэдэг.

By default, the starting value for AUTOINCREMENT is 1, and it will increment by 1 for each new record.

Өгөгдмөлөөр, AUTOINCREMENT-ийн эхлэх утга нь 1 байдаг бөгөөд шинэ мэдээлэл бүрт 1-р нэмэгдэнэ.

Tip: To specify that the “Personid” column should start at value 10 and increment by 5, change the autoincrement to AUTOINCREMENT(10,5).

Зөвлөгөө: “Хүнid” баганыг 10-ээс эхэлж, 5-аар нэмэгддэг болгохын тулд AUTOINCREMENT(10,5) гэж өөрчилнө.

To insert a new record into the “Persons” table, we will NOT have to specify a value for the “Personid” column (a unique value will be added automatically):

“Хүмүүс” хүснэгтэд шинэ мэдээлэл оруулахдаа “Хүнid” баганы утгыг зааж өгөх шаардлагагүй (дахин давтагдашгүй утга автоматаар нэмэгдэнэ):

INSERT INTO Persons (FirstName,LastName)
VALUES (‘Lars’,‘Monsen’);

The SQL statement above would insert a new record into the “Persons” table. The “Personid” column would be assigned a unique value. The “FirstName” column would be set to “Lars” and the “LastName” column would be set to “Monsen”.

Дээрх SQL өгүүлбэр нь “Хүмүүс” хүснэгтэд шинэ мэдээлэл оруулна. “Хүнid” баганад дахин давтагдашгүй утга оноож, “ӨөрийнНэр” баганад “Lars”, “ОвогНэр” баганд “Monsen” утгыг оруулна.


Syntax for Oracle – Oracle-ийн Дүрэм #

In Oracle the code is a little bit more tricky.

Oracle-д код нь арай илүү төвөгтэй байдаг.

You will have to create an auto-increment field with the sequence object (this object generates a number sequence).

Та дарааллын обьект ашиглан авто-нэмэгдэл талбар үүсгэх хэрэгтэй (энэ обьект дугаарын дарааллыг үүсгэдэг).

Use the following CREATE SEQUENCE syntax:

Дараах CREATE SEQUENCE дүрмийг ашиглана:

CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;

The code above creates a sequence object called seq_person, that starts with 1 and will increment by 1. It will also cache up to 10 values for performance. The cache option specifies how many sequence values will be stored in memory for faster access.

Дээрх код нь seq_person нэртэй дарааллын обьект үүсгэх бөгөөд 1-ээс эхлэж 1-р нэмэгдэнэ. Энэ нь гүйцэтгэлийг сайжруулахын тулд 10 хүртэлх утгыг нөөцлөнө. Нөөцлөх тохиргоо нь хурдан хандах боломжийг олгохын тулд хэдэн дарааллын утгыг санах ойд хадгалахыг заана.

To insert a new record into the “Persons” table, we will have to use the nextval function (this function retrieves the next value from seq_person sequence):

“Хүмүүс” хүснэгтэд шинэ мэдээлэл оруулахын тулд nextval функцыг ашиглана (энэ функц seq_person дарааллаас дараагийн утгыг авах болно):

INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,‘Lars’,‘Monsen’);

The SQL statement above would insert a new record into the “Persons” table. The “Personid” column would be assigned the next number from the seq_person sequence. The “FirstName” column would be set to “Lars” and the “LastName” column would be set to “Monsen”.

Дээрх SQL өгүүлбэр нь “Хүмүүс” хүснэгтэд шинэ мэдээлэл оруулна. “Хүнid” баганад дахин давтагдашгүй утга оноож, “ӨөрийнНэр” баганад “Lars”, “ОвогНэр” баганд “Monsen” утгыг оруулна.

Powered by BetterDocs

Leave a Reply