SQL AUTO INCREMENT ফিল্ড

অটো-ইনক্রিমেন্ট নতুন রেকর্ড টেবিলে ইনসার্ট করা হলে একটি অভিন্ন সংখ্যা তৈরি করে。

AUTO INCREMENT ফিল্ড

আমরা সাধারণত, নতুন রেকর্ড এন্টার করার সময়, প্রাইমারি কী ফিল্ডের মান স্বয়ংক্রিয়ভাবে তৈরি করতে চাই:

আমরা টেবিলে একটি auto-increment ফিল্ড তৈরি করতে পারি:

MySQL-এর সিন্তাক্স

নিম্নোক্ত SQL বিন্যাস "Persons" টেবিলের "P_Id" কলামকে auto-increment প্রাইমারি কী হিসাবে নির্ধারণ করে:

CREATE TABLE Persons
(
P_Id ইন্ট NOT NULL AUTO_INCREMENT,
ল্যাস্টনেম ভারচার(255) NOT NULL,
ফাস্টনেম ভারচার(255),
অ্যাড্রেস্স ভারচার(255),
সিটি ভারচার(255),
PRIMARY KEY (P_Id)
)

MySQL AUTO_INCREMENT কীওয়ার্ড ব্যবহার করে auto-increment কাজ করে থাকে:

ডিফল্টভাবে, AUTO_INCREMENT-এর ভাবায়োগ্য মান ১, নতুন প্রতিটি রেকর্ড বাড়াতে ১ যোগ করা হয়:

AUTO_INCREMENT সিরিজকে অন্য মান থেকে শুরু করতে, নিম্নোক্ত SQL বিন্যাস ব্যবহার করুন:

ALTER TABLE Persons AUTO_INCREMENT=100

পার্সন্স টেবিলে একটি নতুন রেকর্ড এন্টার করতে আমাদের "P_Id" কলামের জন্য কোনো মান নির্ধারণ করতে হবে না (এটি স্বয়ংক্রিয়ভাবে একটি অভিন্ন মান যোগ করবে):

INSERT INTO Persons (FirstName, LastName)
VALUES ('Bill', 'Gates')

The above SQL statement will insert a new record into the 'Persons' table. 'P_Id' will be assigned a unique value. 'FirstName' will be set to 'Bill', and the 'LastName' column will be set to 'Gates'.

SQL Server-এর সিন্তাক্স

নিম্নোক্ত SQL বিন্যাস "Persons" টেবিলের "P_Id" কলামকে auto-increment প্রাইমারি কী হিসাবে নির্ধারণ করে:

CREATE TABLE Persons
(
P_Id ইন্ট প্রাইমারি কী IDENTITY,
ল্যাস্টনেম ভারচার(255) NOT NULL,
ফাস্টনেম ভারচার(255),
অ্যাড্রেস্স ভারচার(255),
সিটি ভারচার(255)
)

MS SQL IDENTITY কীওয়ার্ড ব্যবহার করে auto-increment কাজ করে থাকে:

ডিফল্টভাবে, IDENTITY-এর ভাবায়োগ্য মান ১, নতুন প্রতিটি রেকর্ড বাড়াতে ১ যোগ করা হয়:

পার্সন্স কলামকে ২০ থেকে ভাগ করে ১০ বাড়াতে, identity-কে IDENTITY(20,10) হিসাবে পরিবর্তন করুন:

পার্সন্স টেবিলে একটি নতুন রেকর্ড এন্টার করতে আমাদের "P_Id" কলামের জন্য কোনো মান নির্ধারণ করতে হবে না (এটি স্বয়ংক্রিয়ভাবে একটি অভিন্ন মান যোগ করবে):

INSERT INTO Persons (FirstName, LastName)
VALUES ('Bill', 'Gates')

The above SQL statement will insert a new record into the 'Persons' table. 'P_Id' will be assigned a unique value. 'FirstName' will be set to 'Bill', and the 'LastName' column will be set to 'Gates'.

Access-এর সিন্তাক্স

নিম্নোক্ত SQL বিন্যাস "Persons" টেবিলের "P_Id" কলামকে auto-increment প্রাইমারি কী হিসাবে নির্ধারণ করে:

CREATE TABLE Persons
(
P_Id ইন্ট প্রাইমারি কী অটোইনক্রিমেন্ট,
ল্যাস্টনেম ভারচার(255) NOT NULL,
ফাস্টনেম ভারচার(255),
অ্যাড্রেস্স ভারচার(255),
সিটি ভারচার(255)
)

MS Access AUTOINCREMENT কীওয়ার্ড ব্যবহার করে auto-increment কাজ করে থাকে:

ডিফল্টভাবে, AUTOINCREMENT-এর ভাবায়োগ্য মান ১, নতুন প্রতিটি রেকর্ড বাড়াতে ১ যোগ করা হয়:

পার্সন্স কলামকে ২০ থেকে ভাগ করে ১০ বাড়াতে, autoincrement-কে AUTOINCREMENT(20,10) হিসাবে পরিবর্তন করুন:

পার্সন্স টেবিলে একটি নতুন রেকর্ড এন্টার করতে আমাদের "P_Id" কলামের জন্য কোনো মান নির্ধারণ করতে হবে না (এটি স্বয়ংক্রিয়ভাবে একটি অভিন্ন মান যোগ করবে):

INSERT INTO Persons (FirstName, LastName)
VALUES ('Bill', 'Gates')

The above SQL statement will insert a new record into the 'Persons' table. 'P_Id' will be assigned a unique value. 'FirstName' will be set to 'Bill', and the 'LastName' column will be set to 'Gates'.

Syntax for Oracle

In Oracle, the code is a bit more complex.

You must create an auto-increment field through a sequence object (which generates a number sequence).

Please use the following CREATE SEQUENCE syntax:

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

The above code creates a sequence object named seq_person, which starts at 1 and increments by 1. The object caches 10 values to improve performance. The CACHE option specifies how many sequence values to store to improve access speed.

To insert a new record into the 'Persons' table, we must use the nextval function (which retrieves the next value from the seq_person sequence):

INSERT INTO Persons (P_Id, FirstName, LastName)
VALUES (seq_person.nextval, 'Lars', 'Monsen')

The above SQL statement will insert a new record into the 'Persons' table. The assignment of 'P_Id' is the next number from the seq_person sequence. 'FirstName' will be set to 'Bill', and the 'LastName' column will be set to 'Gates'.