Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฉันจะบังคับใช้เอกลักษณ์เฉพาะใน MySQL ได้อย่างไร


คุณสามารถบังคับใช้เอกลักษณ์แบบผสมใน MySQL ด้วยความช่วยเหลือของคำหลัก UNIQUE นี่คือไวยากรณ์เพื่อเพิ่มคำหลัก UNIQUE ให้กับคอลัมน์ตารางของคุณ

ไวยากรณ์มีดังนี้

สร้างตาราง yourTableName( yourColumnName1 datatype, yourColumnName2 datatype, yourColumnName3 datatype, . . N UNIQUE yourConstarintName(yourColumnName2,yourColumnName3));

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตารางที่มีบางคอลัมน์และเพิ่มข้อจำกัดเฉพาะให้กับตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง UniqueDemo -> ( -> StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(100), -> StudentAge int, -> StudentMarks int -> , -> UNIQUE age_NameConstraint(StudentName,StudentAge) -> );แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.76 วินาที)

คุณสามารถแสดงชื่อข้อจำกัดจากตารางโดยใช้คำสั่ง SHOW

ไวยากรณ์มีดังนี้

แสดงดัชนีจากชื่อตารางของคุณ

หากต้องการแสดงข้อจำกัดเฉพาะจากตาราง ให้ใช้ไวยากรณ์ด้านบน แบบสอบถามมีดังนี้ −

mysql> แสดงดัชนีจาก UniqueDemo

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+------------+-----------+-------------------- +-------------+-------------+-----------+-------- -----+----------+---------+------+-----------+---- -----+---------------------+---------+| ตาราง | Non_unique | Key_name | Seq_in_index | Column_name | การเรียง | คาร์ดินัลลิตี้ | Sub_part | บรรจุ | Null | Index_type | ความคิดเห็น | Index_comment | มองเห็นได้ |+------------+-----------+--------------------+ --------------+-------------+-----------+--------- ----+----------+---------+------+-----------+----- ----+-----------------------+---------+| uniquedemo | 0 | ประถม | 1 | รหัสนักศึกษา | A | 0 | NULL | NULL | | BTREE | | | ใช่ || uniquedemo | 0 | age_NameConstraint | 1 | ชื่อนักเรียน | A | 0 | NULL | NULL | ใช่ | BTREE | | | ใช่ || uniquedemo | 0 | age_NameConstraint | 2 | StudentAge | A | 0 | NULL | NULL | ใช่ | BTREE | | | ใช่ |+------------+-----------+--------------------+ --------------+-------------+-----------+--------- ----+----------+---------+------+-----------+----- ----+---------------------+---------+3 แถวในชุด (0.33 วินาที)