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'.