สำหรับ database นั้นมีการสร้าง primary key หลายแบบทั้งแบบที่เราสามารถกำหนดตัวเลขเองได้หรือว่าจะเป็นการให้โปรแกรมกำหนด primary key ขึ้นมาให้เอง นั้นก็คือสิ่งที่เรียนว่า auto increment แล้ว auto increment สามารถกำหนดอะไรได้บ้างแล้ววิธีการกำหนด auto increment ทำยังไงมาดูกันครับ
วิธีการ
อย่างที่บอกไปข้างต้นนะครับ auto increment นั้นเป็นเหมือนกับการสร้างตัวของรหัส ของ primary key ให้ขึ้นมาแบบ auto โดยเราจะไม่ต้องมาใส่หรือกำหนดเองโดยปกติ auto increment นั้นจะถูก set ไว้ให้ค่านั้นเริ่มต้นที่ 1 และจะนับต่อไปเรื่อยๆโดยไม่ซ้ำกันและถ้าหากว่ามีการลบข้อมูลในตัวเลขไหนไปแล้วจะไม่มีการใช้งานตัวเลขนั้นซ้ำอีกรอบจะนับต่อไปเรื่อยๆ ซึ่งเราก็สามารถกำหนดตัวของ auto increment ได้ว่าจะให้เลขนั้นเริ่มต้นที่ไหนและเป็นเลขกี่หลักเพิ่มเลขที่ละเท่าไหร่ๆได้ซึ่งเราสามารถทำได้โดยเขียนโค้ด SQL ดังนี้
การกำหนดให้ primary key เป็น auto increment ใน MYSQL
โค้ด: เลือกทั้งหมด
CREATE TABLE Persons (
Personid int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (Personid)
);
ต่อมาจะเป็นส่วนที่ใช้สำหรับกำหนดค่าเริ่มต้นและค่าที่เพิ่มขึ้น ใน SQL SERVER
โค้ด: เลือกทั้งหมด
CREATE TABLE persons (
personid int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255)
);
สรุป
การทำ auto increment นั้นสามารถช่วยทำให้เราไม่ต้องมาเขียนโค้ดในการกำหนดค่าในการกำหนด primary key ขึ้นมาในโค้ด SQL เพราะบางครั้งโค้ดเราอาจจะผิดผลาดในการสร้าง primary key อาจจะมีการเขียนซ้ำกับ primary key ตัวที่มีอยู่แล้วอาจจะทำให้เก็บ Bug ได้อีกทั้งยังมีความแน่นอนในเรื่องของการกำหนดตัวเลขจะไม่ซ้ำกันเลยเพราะจะเป็นการนับเลขเรียงไปเรื่อยๆเราจึงมั่นใจได้ว่าการกำหนด primary key เป็น auto increment นั้นจะมีมีการเกิด Bug ที่ primary key ซ้ำกันได้อย่างแน่นอนครับ
อ้างอิง
https://www.w3schools.com/sql/sql_autoincrement.asp
https://www.mindphp.com/บทเรียนออนไลน์/ ... นมัติ.html
viewtopic.php?t=80772