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

คำสั่ง 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
R - Rotate back up file
โดย Grammanano จ 09 ธ.ค. 2019 8:20 pm บอร์ด M098 - อนงค์นาท ไฝขาว
1
4
จ 09 ธ.ค. 2019 8:24 pm โดย mindphp
การดึงข้อมูลใน ArrayList ภาษา Java
โดย Grammanano จ 09 ธ.ค. 2019 7:42 pm บอร์ด Share Knowledge
0
9
จ 09 ธ.ค. 2019 7:42 pm โดย Grammanano
ฺB - ไม่สามารถ cancel ใบกำกับภาษีที่สร้างผ่าน withholding tax โดยตรงได้
โดย nnamfon.26 จ 09 ธ.ค. 2019 7:27 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
4
จ 09 ธ.ค. 2019 7:27 pm โดย nnamfon.26
การเพิ่มข้อมูลใน ArrayList ภาษา Java
โดย Grammanano จ 09 ธ.ค. 2019 6:19 pm บอร์ด Share Knowledge
0
7
จ 09 ธ.ค. 2019 6:19 pm โดย Grammanano
การทำงานแบบ Multitasking เหมาะกับใคร - การทำหลาย ๆ อย่างพร้อมกัน
โดย noppadonsk จ 09 ธ.ค. 2019 6:06 pm บอร์ด Share Knowledge
0
12
จ 09 ธ.ค. 2019 6:06 pm โดย noppadonsk
บทเรียนสำหรับนักออกแบบมือใหม่
โดย noppadonsk จ 09 ธ.ค. 2019 5:48 pm บอร์ด Share Knowledge
0
15
จ 09 ธ.ค. 2019 5:48 pm โดย noppadonsk
มาดูเทรนด์สีมาแรง ในปี 2020
โดย noppadonsk จ 09 ธ.ค. 2019 5:18 pm บอร์ด Graphic design
0
17
จ 09 ธ.ค. 2019 5:18 pm โดย noppadonsk
วิธีการปรับแก้ไขลิ้งค์จากหัวข้อ ให้ไปยังตำแหน่งโพสต์ ที่ยังไม่มีการอ่าน ใน phpbb
โดย Ittichai_chupol จ 09 ธ.ค. 2019 5:16 pm บอร์ด PHP Knowledge
0
9
จ 09 ธ.ค. 2019 5:16 pm โดย Ittichai_chupol
ภาพประกอบ template Mooziicart Helix
โดย numtan5839 จ 09 ธ.ค. 2019 4:29 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
0
4
จ 09 ธ.ค. 2019 4:29 pm โดย numtan5839
VDO - Introducing to Mooziicart Helix - Template MooZiicart
โดย numtan5839 จ 09 ธ.ค. 2019 3:56 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
7
จ 09 ธ.ค. 2019 5:43 pm โดย numtan5839
Introducing to Mooziicart coupon feature
โดย numtan5839 จ 09 ธ.ค. 2019 11:30 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
12
จ 09 ธ.ค. 2019 2:01 pm โดย numtan5839
การสร้าง ArrayList ในภาษา Java
โดย Grammanano จ 09 ธ.ค. 2019 11:28 am บอร์ด Share Knowledge
0
13
จ 09 ธ.ค. 2019 11:28 am โดย Grammanano
เพิ่ม primary key ใน pgadmin แล้ว error ค่ะ
โดย Grammanano จ 09 ธ.ค. 2019 11:15 am บอร์ด SQL - Database
0
12
จ 09 ธ.ค. 2019 11:15 am โดย Grammanano
งานประจำวันที่ 9 ธันวาคม 2562
โดย noppadonsk จ 09 ธ.ค. 2019 10:19 am บอร์ด MT36 - นายนพดล สุชญากูล
2
14
จ 09 ธ.ค. 2019 7:15 pm โดย jamepiyawat
งานประจำวันที่ 9 ธันวาคม 2562
โดย numtan5839 จ 09 ธ.ค. 2019 10:14 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
10
จ 09 ธ.ค. 2019 7:51 pm โดย numtan5839
Work shop ทำใบปริ้นท์ด้วย RML
โดย Grammanano จ 09 ธ.ค. 2019 10:06 am บอร์ด M098 - อนงค์นาท ไฝขาว
0
3
จ 09 ธ.ค. 2019 10:06 am โดย Grammanano
งานประจำวันที่ 9 ธันวาคม 2562
โดย Grammanano จ 09 ธ.ค. 2019 10:02 am บอร์ด M098 - อนงค์นาท ไฝขาว
4
19
จ 09 ธ.ค. 2019 7:19 pm โดย Grammanano
คำสั่งสร้างชื่อผู้ใช้ใน postgres Command Create User on PostgreSQL
โดย mindphp จ 09 ธ.ค. 2019 4:48 am บอร์ด PostgreSQL
2
22
จ 09 ธ.ค. 2019 5:39 am โดย mindphp
วิธีใช้โปรแกรม Weka ในการทำนายข้อมูล
โดย Grammanano ส 07 ธ.ค. 2019 6:54 pm บอร์ด Share Knowledge
0
24
ส 07 ธ.ค. 2019 6:54 pm โดย Grammanano
พื้นฐาน RML เพื่อทำใบปริ้นท์ในระบบ ERP
โดย Grammanano ส 07 ธ.ค. 2019 4:58 pm บอร์ด M098 - อนงค์นาท ไฝขาว
1
10
ส 07 ธ.ค. 2019 5:47 pm โดย Grammanano