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

เพิ่มค่าใหม่ให้กับคอลัมน์ประเภทข้อมูล enum ใน MySQL?


คุณสามารถเพิ่มค่าใหม่ให้กับคอลัมน์ของชนิดข้อมูล enum โดยใช้คำสั่ง ALTER MODIFY

หากคุณต้องการค่า enum ที่มีอยู่ คุณต้องเขียนค่า enum ที่มีอยู่ด้วยตนเองในขณะที่เพิ่มค่าใหม่ลงในคอลัมน์ของชนิดข้อมูล enum

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

เปลี่ยนตาราง yourTableName MODIFY COLUMN yourEnumColumnNameENUM('yourExistingValue1','yourExistingValue2',........N,'yourNewValue1','yourNewValue2',.....N);

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

mysql> สร้างตาราง AddingNewValueToEnumColumn -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> Colors ENUM('RED','GREEN','BLUE'), -> คีย์หลัก (Id) -> ); ตกลง ตกลง , 0 แถวได้รับผลกระทบ (0.64 วินาที)

ในการตรวจสอบ DDL ของตารางด้านบน ให้ใช้คำสั่ง show create แบบสอบถามมีดังนี้ −

mysql> แสดงการสร้างตาราง AddingNewValueToEnumColumn\G

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

<ก่อนหน้า>****************************** 1. แถว ***************** ********** ตาราง − การเพิ่มNewValueToEnumColumnCreate Table − CREATE TABLE `การเพิ่มค่าใหม่toenumcolumn` ( `Id` int (11) ไม่ใช่ NULL AUTO_INCREMENT, `Colors' enum ('RED', 'GREEN', 'BLUE') เริ่มต้น NULL, คีย์หลัก (`Id`) ) ENGINE =InnoDB DEFAULT CHARSET =utf8mb4 COLLATE =utf8mb4_0900_ai_ci1 แถวในชุด (0.00 วินาที)

ดูคอลัมน์ enum 'สี' ที่มีค่า 'RED','GREEN','BLUE' และหากคุณต้องการค่าอื่น ให้ใช้คำสั่ง ALTER ตามที่กล่าวไว้ข้างต้น

ตอนนี้ ให้เราเพิ่มค่าใหม่ เช่น 'YELLOW','ORANGE','PINK' ต่อไปนี้เป็นแบบสอบถามเพื่อเพิ่มค่าใหม่ให้กับคอลัมน์ enum 'สี' -

mysql> ALTER TABLE addednewvaluetoenumcolumn MODIFY COLUMN Colors -> ENUM('RED','GREEN','BLUE','YELLOW','ORANGE','PINK');แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.17 วินาที) บันทึก − 0 รายการซ้ำ − 0 คำเตือน − 0

ตรวจสอบคำอธิบายของตารางเพื่อให้แน่ใจว่ามีการเพิ่มค่าหรือไม่ ไวยากรณ์มีดังนี้ −

DESC yourTableName;

ตรวจสอบคำอธิบายของตาราง 'addingnewvaluetoenumcolumn' โดยใช้ DESC -

mysql> อธิบาย AddingNewValueToEnumColumn;

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

<ก่อนหน้า>+---------+----------------------------- -----------------------+---------+----------------------+---------- ------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------+-------------------------------------- ---------------+------+-------------+---------+----------- -----+| รหัส | int(11) | ไม่ | PRI | NULL | auto_increment || สี | enum('RED','GREEN','BLUE','YELLOW','ORANGE','PINK') | enum('RED','GREEN','BLUE','YELLOW','ORANGE','PINK') | ใช่ | | NULL | |+------------------------------------------------------------ --------------+------+-------------+---------+----------- ----+2 แถวในชุด (0.00 วินาที)