SQL AUTO တိုးမြှင့်မှု အကွက်
အလိုအလျောက် တိုးမြှင့်မှု အကွက်
မှတ်တမ်းအသစ်တစ်ခုကို ဇယားတစ်ခုထဲသို့ ထည့်သွင်းလိုက်သောအခါတွင် သီးသန့်နံပါတ်တစ်ခုကို အလိုအလျောက် တိုးခွင့်ပြုသည်။
ရံဖန်ရံခါ ဤသည်မှာ မှတ်တမ်းအသစ်တစ်ခုထည့်သွင်းတိုင်း ကျွန်ုပ်တို့အလိုအလျောက်ဖန်တီးလိုသည့် အဓိကသော့အကွက်ဖြစ်သည်။
MySQL အတွက် Syntax
အောက်ပါ SQL ကြေငြာချက်သည် "Personid" ကော်လံကို "Persons" ဇယားရှိ အလိုအလျောက်ထည့်သွင်းသည့် အဓိကသော့အကွက်တစ်ခုအဖြစ် သတ်မှတ်သည်-
CREATE TABLE Persons
(
Personid int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (Personid)
);
MySQL သည် AUTO_INCREMENT
auto-increment feature ကိုလုပ်ဆောင်ရန် အဓိကစကားလုံးကိုအသုံးပြုသည်။
ပုံမှန်အားဖြင့်၊ အတွက် စတင်တန်ဖိုး AUTO_INCREMENT
သည် 1 ဖြစ်ပြီး၊ စံချိန်သစ်တစ်ခုစီအတွက် 1 တိုးလာမည်ဖြစ်သည်။
sequence ကို အခြားတန်ဖိုးတစ်ခုဖြင့် စတင် ခွင့်ပြုရန် AUTO_INCREMENT
၊ အောက်ပါ SQL ထုတ်ပြန်ချက်ကို အသုံးပြုပါ။
ALTER TABLE Persons AUTO_INCREMENT=100;
"Persons" ဇယားတွင် မှတ်တမ်းအသစ်တစ်ခုကို ထည့်သွင်းရန် "Personid" ကော်လံအတွက် တန်ဖိုးတစ်ခု သတ်မှတ်ရန် မလိုအပ်ပါ (ထူးခြားသောတန်ဖိုးကို အလိုအလျောက် ပေါင်းထည့်ပါမည်)။
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');
အထက်ဖော်ပြပါ SQL ကြေညာချက်သည် "Persons" ဇယားတွင် မှတ်တမ်းအသစ်တစ်ခု ထည့်သွင်းမည်ဖြစ်သည်။ "Personid" ကော်လံကို ထူးခြားသောတန်ဖိုးတစ်ခု သတ်မှတ်ပေးပါမည်။ "FirstName" ကော်လံကို "Lars" ဟု သတ်မှတ်မည်ဖြစ်ပြီး "LastName" ကော်လံကို "Monsen" ဟု သတ်မှတ်မည်ဖြစ်သည်။
SQL Server အတွက် Syntax
အောက်ပါ SQL ကြေငြာချက်သည် "Personid" ကော်လံကို "Persons" ဇယားရှိ အလိုအလျောက်ထည့်သွင်းသည့် အဓိကသော့အကွက်တစ်ခုအဖြစ် သတ်မှတ်သည်-
CREATE TABLE Persons
(
Personid int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MS SQL Server သည် IDENTITY
အလိုအလျောက်တိုးမြှင့်ခြင်းအင်္ဂါရပ်ကိုလုပ်ဆောင်ရန် အဓိကစကားလုံးကိုအသုံးပြုသည်။
အထက်ဖော်ပြပါ ဥပမာတွင်၊ အတွက် စတင်တန်ဖိုး
IDENTITY
သည် 1 ဖြစ်ပြီး၊ မှတ်တမ်းအသစ်တစ်ခုစီအတွက် 1 တိုးလာမည်ဖြစ်သည်။
အကြံပြုချက်- "Personid" ကော်လံသည် တန်ဖိုး 10 မှ စတင်သင့်ပြီး 5 ဖြင့် တိုးသင့်သည်ဟု သတ်မှတ်ရန် ၎င်းကို ပြောင်းပါ IDENTITY(10,5)
။
"Persons" ဇယားတွင် မှတ်တမ်းအသစ်တစ်ခုကို ထည့်သွင်းရန် "Personid" ကော်လံအတွက် တန်ဖိုးတစ်ခု သတ်မှတ်ရန် မလိုအပ်ပါ (ထူးခြားသောတန်ဖိုးကို အလိုအလျောက် ပေါင်းထည့်ပါမည်)။
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');
အထက်ဖော်ပြပါ SQL ကြေညာချက်သည် "Persons" ဇယားတွင် မှတ်တမ်းအသစ်တစ်ခု ထည့်သွင်းမည်ဖြစ်သည်။ "Personid" ကော်လံကို ထူးခြားသောတန်ဖိုးတစ်ခု သတ်မှတ်ပေးပါမည်။ "FirstName" ကော်လံကို "Lars" ဟု သတ်မှတ်မည်ဖြစ်ပြီး "LastName" ကော်လံကို "Monsen" ဟု သတ်မှတ်မည်ဖြစ်သည်။
Access for Syntax
အောက်ပါ SQL ကြေငြာချက်သည် "Personid" ကော်လံကို "Persons" ဇယားရှိ အလိုအလျောက်ထည့်သွင်းသည့် အဓိကသော့အကွက်တစ်ခုအဖြစ် သတ်မှတ်သည်-
CREATE TABLE Persons
(
Personid AUTOINCREMENT PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MS Access သည် AUTOINCREMENT
အလိုအလျောက်တိုးမြှင့်ခြင်းအင်္ဂါရပ်ကို လုပ်ဆောင်ရန် သော့ချက်စကားလုံးကို အသုံးပြုသည်။
ပုံမှန်အားဖြင့်၊ အတွက် စတင်တန်ဖိုး AUTOINCREMENT
သည် 1 ဖြစ်ပြီး၊ စံချိန်သစ်တစ်ခုစီအတွက် 1 တိုးလာမည်ဖြစ်သည်။
အကြံပြုချက်- "Personid" ကော်လံသည် တန်ဖိုး 10 မှ စတင်ပြီး 5 ဖြင့် တိုးသင့်သည်ဟု သတ်မှတ်ရန်၊ အလိုအလျောက်တိုးခြင်းကို ပြောင်းပါ
AUTOINCREMENT(10,5)
။
"Persons" ဇယားတွင် မှတ်တမ်းအသစ်တစ်ခုကို ထည့်သွင်းရန် "Personid" ကော်လံအတွက် တန်ဖိုးတစ်ခု သတ်မှတ်ရန် မလိုအပ်ပါ (ထူးခြားသောတန်ဖိုးကို အလိုအလျောက် ပေါင်းထည့်ပါမည်)။
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');
အထက်ဖော်ပြပါ SQL ကြေညာချက်သည် "Persons" ဇယားတွင် မှတ်တမ်းအသစ်တစ်ခု ထည့်သွင်းမည်ဖြစ်သည်။ "Personid" ကော်လံကို ထူးခြားသောတန်ဖိုးတစ်ခု သတ်မှတ်ပေးပါမည်။ "FirstName" ကော်လံကို "Lars" ဟု သတ်မှတ်မည်ဖြစ်ပြီး "LastName" ကော်လံကို "Monsen" ဟု သတ်မှတ်မည်ဖြစ်သည်။
Oracle အတွက် Syntax
Oracle မှာ ကုဒ်က နည်းနည်းပိုခက်တယ်။
sequence object ဖြင့် အလိုအလျောက် increment အကွက်ကို ဖန်တီးရပါမည် (ဤအရာဝတ္ထုသည် နံပါတ်စဉ်တစ်ခုကို ထုတ်ပေးသည်)။
အောက်ပါ CREATE SEQUENCE
syntax ကိုသုံးပါ
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
အထက်ကုဒ်သည် seq_person ဟုခေါ်သော အစီအစဥ်အရာဝတ္တုတစ်ခုကို ဖန်တီးပေးသည်၊ 1 နှင့် စတင်ကာ 1 ဖြင့် တိုးလာမည်ဖြစ်သည်။ ၎င်းသည် စွမ်းဆောင်ရည်အတွက် တန်ဖိုး 10 ခုအထိ သိမ်းဆည်းထားမည်ဖြစ်သည်။ ပိုမိုမြန်ဆန်စွာဝင်ရောက်နိုင်စေရန်အတွက် ကက်ရှ်ရွေးချယ်မှုသည် အမှတ်စဉ်တန်ဖိုးများ မည်မျှသိမ်းဆည်းမည်ကို သတ်မှတ်ပေးသည်။
"Persons" ဇယားတွင် မှတ်တမ်းအသစ်တစ်ခုကို ထည့်သွင်းရန်၊ ကျွန်ုပ်တို့သည် နောက်အကျဆုံး လုပ်ဆောင်ချက်ကို အသုံးပြုရပါမည် (ဤလုပ်ဆောင်ချက်သည် seq_person sequence မှ နောက်ထပ်တန်ဖိုးကို ထုတ်ယူသည်)။
INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen');
အထက်ဖော်ပြပါ SQL ကြေညာချက်သည် "Persons" ဇယားတွင် မှတ်တမ်းအသစ်တစ်ခု ထည့်သွင်းမည်ဖြစ်သည်။ "Personid" ကော်လံကို seq_person အစီအစဉ်မှ နောက်နံပါတ်ကို သတ်မှတ်ပေးပါမည်။ "FirstName" ကော်လံကို "Lars" ဟု သတ်မှတ်မည်ဖြစ်ပြီး "LastName" ကော်လံကို "Monsen" ဟု သတ်မှတ်မည်ဖြစ်သည်။