ข้อมูล SQL AUTO INCREMENT
เพิ่มโดยอัตโนมัติในบันทึกใหม่จะสร้างจำนวนไม่ซ้ำกันในตารางเมื่อ
ฟิลด์ AUTO INCREMENT
เรามักจะต้องการแทรกบันทึกใหม่ในแต่ละครั้งโดยอัตโนมัติสร้างมูลค่าของสนามคีย์หลัก
เราสามารถสร้างสนามเพิ่มโดยอัตโนมัติในตาราง
ไวยากรณ์สำหรับ MySQL
ต่อไปนี้คำสั่ง SQL เพื่อตารางคน "" ใน "รหัส" คอลัมน์ถูกกำหนดให้เป็นเขตข้อมูลคีย์เพิ่มโดยอัตโนมัติหลัก:
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)
MySQL ใช้คำหลัก AUTO_INCREMENT ที่จะดำเนินการเพิ่มโดยอัตโนมัติ
โดยค่าเริ่มต้น AUTO_INCREMENT ค่าเริ่มต้นคือ 1 และจะเพิ่มขึ้นโดยที่ 1 สำหรับบันทึกใหม่ในแต่ละ
ให้ลำดับ AUTO_INCREMENT เริ่มต้นด้วยค่าอื่นใช้ไวยากรณ์ SQL ต่อไปนี้:
เพื่อแทรกบันทึกใหม่ในตารางคน "" เราไม่จำเป็นต้อง "id" คอลัมน์ค่าที่กำหนดไว้ (จะเพิ่มค่าไม่ซ้ำกัน):
VALUES ('Lars','Monsen')
คำสั่ง SQL ข้างต้นจะแทรกระเบียนใหม่ในตารางคน "" "id" คอลัมน์จะได้รับค่าไม่ซ้ำกัน "FirstName คอลัมน์" จะได้รับการตั้งค่าเป็น "ลาร์ส", "นามสกุล" คอลัมน์จะถูกตั้งค่าเป็น "Monsen"
ไวยากรณ์สำหรับ SQL Server
ต่อไปนี้คำสั่ง SQL เพื่อตารางคน "" ใน "รหัส" คอลัมน์ถูกกำหนดให้เป็นเขตข้อมูลคีย์เพิ่มโดยอัตโนมัติหลัก:
(
ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
MS SQL Server โดยใช้คำหลัก IDENTITY ที่จะดำเนินการเพิ่มโดยอัตโนมัติ
ในตัวอย่างข้างต้น, ตัวตนที่คุ้มค่าเริ่มต้นคือ 1 และจะเพิ่มขึ้นโดยที่ 1 สำหรับบันทึกใหม่ในแต่ละ
เคล็ดลับ: เมื่อต้องการระบุ "รหัส" เพื่อเริ่มต้น 10 และเพิ่มทีละ 5 โปรดอัตลักษณ์ตัวตน (10,5)
เพื่อแทรกบันทึกใหม่ในตารางคน "" เราไม่จำเป็นต้อง "id" คอลัมน์ค่าที่กำหนดไว้ (จะเพิ่มค่าไม่ซ้ำกัน):
VALUES ('Lars','Monsen')
คำสั่ง SQL ข้างต้นจะแทรกระเบียนใหม่ในตารางคน "" "id" คอลัมน์จะได้รับค่าไม่ซ้ำกัน "FirstName คอลัมน์" จะได้รับการตั้งค่าเป็น "ลาร์ส", "นามสกุล" คอลัมน์จะถูกตั้งค่าเป็น "Monsen"
ไวยากรณ์สำหรับการเข้าถึง
ต่อไปนี้คำสั่ง SQL เพื่อตารางคน "" ใน "รหัส" คอลัมน์ถูกกำหนดให้เป็นเขตข้อมูลคีย์เพิ่มโดยอัตโนมัติหลัก:
(
ID Integer PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
MS Access โดยใช้คำหลัก AUTOINCREMENT ที่จะดำเนินการเพิ่มโดยอัตโนมัติ
โดยค่าเริ่มต้น AUTOINCREMENT ค่าเริ่มต้นคือ 1 และจะเพิ่มขึ้นโดยที่ 1 สำหรับบันทึกใหม่ในแต่ละ
เคล็ดลับ: เมื่อต้องการระบุ "รหัส" เพื่อเริ่มต้น 10 และเพิ่มทีละ 5 โปรด AutoIncrement เพื่อ AUTOINCREMENT (10,5)
เพื่อแทรกบันทึกใหม่ในตารางคน "" เราไม่จำเป็นต้อง "id" คอลัมน์ค่าที่กำหนดไว้ (จะเพิ่มค่าไม่ซ้ำกัน):
VALUES ('Lars','Monsen')
คำสั่ง SQL ข้างต้นจะแทรกระเบียนใหม่ในตารางคน "" "id" คอลัมน์จะได้รับค่าไม่ซ้ำกัน "FirstName คอลัมน์" จะได้รับการตั้งค่าเป็น "ลาร์ส", "นามสกุล" คอลัมน์จะถูกตั้งค่าเป็น "Monsen"
ไวยากรณ์สำหรับ Oracle
ใน Oracle รหัสมีความซับซ้อนมากขึ้นเพียงเล็กน้อย
คุณต้องสร้างสาขาเพิ่มโดยอัตโนมัติโดยวัตถุลำดับ (ซึ่งจะสร้างลำดับของตัวเลข)
กรุณาใช้สร้างลำดับไวยากรณ์ต่อไปนี้:
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
รหัสข้างต้นสร้างวัตถุลำดับที่เรียกว่า seq_person ซึ่งเริ่มต้นด้วย 1 และเพิ่มขึ้นทีละ 1 แคชวัตถุ 10 ค่าเพื่อปรับปรุงประสิทธิภาพ ตัวเลือกแคชให้เข้าถึงได้เร็วขึ้นกับจำนวนของค่าลำดับจะถูกเก็บไว้
เพื่อแทรกบันทึกใหม่ในตารางคน "" เราจะต้องใช้ฟังก์ชั่น NEXTVAL (ฟังก์ชั่นนี้ดึงค่าต่อไปจากลำดับ seq_person):
VALUES (seq_person.nextval,'Lars','Monsen')
คำสั่ง SQL ข้างต้นจะแทรกระเบียนใหม่ในตารางคน "" "id" คอลัมน์ที่ได้รับมอบหมายจำนวนในลำดับถัดไปจาก seq_person "FirstName คอลัมน์" จะได้รับการตั้งค่าเป็น "ลาร์ส", "นามสกุล" คอลัมน์จะถูกตั้งค่าเป็น "Monsen"