ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

คำสั่ง SQL มีความสำคัญและเป็นที่นิยมอย่างมากเพื่อการใช้งานที่หลากหลาย และเพื่อความเร็วในการค้นหาข้อมูลจากฐานข้อมูล ชนิดต่างๆ เช่น MySQL, Oracle, SQL SERVER, PGSQL และ SQL มาตรฐานอื่นๆ  บทความนี้จะว่าด้วยเรื่อง Constraint

Constraint ซึ่งเป็นการจำกัดข้อมูลภายใน table หรือ column หนึ่งในนั้นคือ UNIQUE Constraint โดยปกติการใช้คำสั่งในการ INSERT ข้อมูลลงฐานข้อมูล เราจะใช้ในการเพิ่มข้อมูลลงใน table ซึ่งบาง column อาจจะมีข้อมูลซ้ำกันกับบางบรรทัดก่อนหน้านี้ แต่การใช้ UNIQUE Constraint จะกำหนดให้ column นั้นห้ามมีข้อมูลซ้ำเป็นข้อมูลชุดที่ 2 เพื่อให้สามารถระบุข้อมูลได้ถูกต้องเวลาดึงข้อมูลเพื่อระบุตัวตนออกมา    

ตัวอย่าง กรณี UNIQUE Constraint

การสร้าง table ชื่อ CUSTOMERS  โดยคำสั่ง SQL 

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (255)    NOT NULL,
   AGE  INT              NOT NULL UNIQUE,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

ในส่วนของ AGE column ได้กำหนดไว้ว่า ห้ามมีค่า NULL และ ห้ามมีค่าซ้ำกัน (UNIQUE)

การเปลี่ยนค่า UNIQUE CONSTRAINT

ถ้าได้สร้างตางรางไปแล้ว แต่ลืมกำหรดหรือต้องการเพิ่ม หรือ เปลี่ยน UNIQUE Constraint บน column ที่กำหนด สามารถทำได้ดังนี้

ALTER TABLE CUSTOMERS MODIFY AGE INT NOT NULL UNIQUE;

หรือสามารถเพิ่ม UNIQUE Constraint โดยกำหนดจากข้อมูลหลาย column ได้ 

ALTER TABLE CUSTOMERS ADD CONSTRAINT myUniqueConstraint UNIQUE(AGE, SALARY);

 

การลบค่า UNIQUE CONSTRAINT

ในส่วนของการ การลบค่า UNIQUE CONSTRAINT สามารถทำได้โดยใช้คำ sql ดังนี้ 

ALTER TABLE CUSTOMERS DROP INDEX myUniqueConstraint;

ทั้งหมดเป็น ส่วนหนึ่งของเรื่อง UNIQUE CONSTRAINT ซึ่งจะมีเรื่องการ Select ด้วย แล้วจะมาเขียนน่ะครับ 

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : SQL และ PHP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ทำยังไง ให้ข้อความใน list box มองเห็นสระ อุ , อู ด้านล่าง
โดย bankjittapol พฤ 14 พ.ย. 2019 5:43 pm บอร์ด HTML CSS
0
4
พฤ 14 พ.ย. 2019 5:43 pm โดย bankjittapol
โปรแกรมหาพิกัดจากภาพ และแสดงบนแผนที่
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 3:39 pm บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
2
10
พฤ 14 พ.ย. 2019 5:28 pm โดย chaiyasitpraphut
EXIF คืออะไรจะดูค่า EXIF ได้อย่างไร
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 5:14 pm บอร์ด PHP Knowledge
0
4
พฤ 14 พ.ย. 2019 5:14 pm โดย chaiyasitpraphut
ทำอย่างไรให้ใน loop แสดงสินค้าไม่ซ้ำกัน
โดย Patipat อ 17 ก.ย. 2019 11:19 am บอร์ด Joomla Development
2
200
พฤ 14 พ.ย. 2019 5:14 pm โดย Losa
แนะนำฟังก์ชั่นระบบ Webboard Mindphp.com ใหม่ (phpbb v.3.2)
โดย numtan5839 พฤ 14 พ.ย. 2019 5:06 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
6
พฤ 14 พ.ย. 2019 5:13 pm โดย thatsawan
OpenStreetMap คืออะไร
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 4:51 pm บอร์ด PHP Knowledge
0
2
พฤ 14 พ.ย. 2019 4:51 pm โดย chaiyasitpraphut
Data Flow Diagram คืออะไร
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 4:29 pm บอร์ด SQL Knowledge
0
4
พฤ 14 พ.ย. 2019 4:29 pm โดย chaiyasitpraphut
Sonoff คืออะไร
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 4:07 pm บอร์ด IOT - Internet of things
0
5
พฤ 14 พ.ย. 2019 4:07 pm โดย chaiyasitpraphut
ขั้นตอนการสมัคร NETPIE
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 3:56 pm บอร์ด IOT - Internet of things
0
3
พฤ 14 พ.ย. 2019 3:56 pm โดย chaiyasitpraphut
ภาพประกอบ Tools
โดย numtan5839 ศ 08 พ.ย. 2019 1:58 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
9
65
พฤ 14 พ.ย. 2019 3:51 pm โดย numtan5839
Collapsible Forum Categories : สำหรับย่อ - ขยาย หมวดหมู่ฟอรั่ม
โดย thatsawan ส 09 พฤษภาคม 2015 1:38 pm บอร์ด phpBB 3.1 Extension Review
1
828
พฤ 14 พ.ย. 2019 3:37 pm โดย thatsawan
ทำไม่พอขึ้นบรรทัดใหม่แล้วตัวอัษรถึงซ้อนกันครับ
โดย jamepiyawat พฤ 14 พ.ย. 2019 2:19 pm บอร์ด HTML CSS
2
16
พฤ 14 พ.ย. 2019 2:31 pm โดย jamepiyawat
งานประจำวันที่ 14 พฤศจิกายน 2562
โดย numtan5839 พฤ 14 พ.ย. 2019 11:05 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
15
พฤ 14 พ.ย. 2019 2:04 pm โดย numtan5839
Work's on Hand ชัยยะสิทธิ์ พระพุทธ MT35
โดย chaiyasitpraphut จ 11 พ.ย. 2019 10:46 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
1
17
พฤ 14 พ.ย. 2019 1:39 pm โดย chaiyasitpraphut
ทฤษฎีสี 60-30-10
โดย numtan5839 พฤ 14 พ.ย. 2019 12:30 pm บอร์ด Graphic design
0
5
พฤ 14 พ.ย. 2019 12:30 pm โดย numtan5839
งานประจำวันที่ 14 พฤศจิกายน 2562
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 10:15 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
3
15
พฤ 14 พ.ย. 2019 12:03 pm โดย jamepiyawat
คำนวณการรับส่งข้อมูลผ่านอินเทอร์เน็ต
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 11:29 am บอร์ด MindPHP News / Feedback
0
6
พฤ 14 พ.ย. 2019 11:29 am โดย chaiyasitpraphut
แก้ไวรัสซ่อนไฟล์ง่ายๆ ด้วย CMD
โดย teenproza7 พ 15 พฤษภาคม 2019 5:37 pm บอร์ด Share Knowledge
1
148
พฤ 14 พ.ย. 2019 11:27 am โดย LEG
ตรวจสอบอายุการใช้งานของ โดเมน
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 11:05 am บอร์ด MindPHP News / Feedback
0
5
พฤ 14 พ.ย. 2019 11:05 am โดย chaiyasitpraphut
สร้างไฟล์ PDF โดยไม่ต้องลงโปรแกรม
โดย chaiyasitpraphut พฤ 14 พ.ย. 2019 10:43 am บอร์ด MindPHP News / Feedback
0
7
พฤ 14 พ.ย. 2019 10:43 am โดย chaiyasitpraphut