auto increment คืออะไร ทำ Field ให้เพิ่มค่าเองอัตโนมัติเมื่อมีการเพิ่มข้อมูลลงในตาราง

SQL Knowledge ทั้ง sql มาตรฐาน หลักการออกแบบฐานข้อมูล ความสัมพันธ์ของ ตาราง Mysql , PGSQL, Oracle, MSSQL

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
ewqolf
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 621
ลงทะเบียนเมื่อ: 14/11/2022 9:26 am

auto increment คืออะไร ทำ Field ให้เพิ่มค่าเองอัตโนมัติเมื่อมีการเพิ่มข้อมูลลงในตาราง

โพสต์ที่ยังไม่ได้อ่าน โดย ewqolf »

auto increment คืออะไร
สำหรับ 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)
);
จากโค้ดจะเห็นได้ว่าเป็นการสร้างตารางขึ้นมาใหม่เป็นตาราง Persons ซึ่งมี personid เป็น primary key และ กำหนดให้เป็น auto increment อีกด้วย
ต่อมาจะเป็นส่วนที่ใช้สำหรับกำหนดค่าเริ่มต้นและค่าที่เพิ่มขึ้น ใน SQL SERVER

โค้ด: เลือกทั้งหมด

CREATE TABLE persons (
    personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255)
);
จากโค้ดข้างต้นจะเป็นการสร้าง table persons ขึ้นมาจากนั้นก็จะกำหนดให้เป็น auto increment โดยเลขข้างหน้าจะเป็นเลขที่เริ่มและเลขข้างหลังจะเป็นเลขจำนวนที่จะเพิ่มต่อครั้ง จากนั้นก็กำหนดให้เป็น primary key
สรุป
การทำ 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
คนจะตายเมื่อถูกฆ่า...ขอบคุณครับ
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 77