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

จะเปลี่ยนคอลัมน์ MySQL จาก varchar (30) เป็น varchar (100) ได้อย่างไร


คุณต้องใช้คำสั่ง ALTER TABLE พร้อมกับ MODIFY

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

เปลี่ยนตาราง yourTableName MODIFY COLUMN yourColumnName varchar(100) NOT NULL;

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

mysql> สร้างตาราง syntaxOfAlterCommandDemo -> ( -> UserId int, -> UserName varchar(30), -> UserAge int, -> UserCityName varchar(50) -> );Query OK, 0 แถวได้รับผลกระทบ (0.51 วินาที) 

ให้เราตรวจสอบคำอธิบายของตาราง

แบบสอบถามมีดังนี้

mysql> อธิบาย syntaxOfAlterCommandDemo;

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

<ก่อนหน้า>+--------------+-------------+------+----+---- -----+-------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------------+-------------+------+ -----+----- ----+-------+| รหัสผู้ใช้ | int(11) | ใช่ | | NULL | || ชื่อผู้ใช้ | varchar(30) | ใช่ | | NULL | || อายุผู้ใช้ | int(11) | ใช่ | | NULL | || ชื่อผู้ใช้ | varchar(50) | ใช่ | | NULL | |+-------------+-------------+------+----+------ ---+-------+4 แถวในชุด (0.04 วินาที)

ตอนนี้ให้เราเปลี่ยนคอลัมน์ชื่อผู้ใช้จาก varchar(30) เป็น varchar(100) จำไว้ว่าตอนนี้เราได้ตั้งค่าคอลัมน์ชื่อผู้ใช้เป็น varchar(30) แบบสอบถามมีดังต่อไปนี้เพื่อเปลี่ยนคอลัมน์

mysql> แก้ไขตาราง syntaxOfAlterCommandDemo แก้ไขคอลัมน์ ชื่อผู้ใช้ varchar(100) ไม่ใช่ NULL ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.36 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

ให้เราตรวจสอบรายละเอียดตารางอีกครั้ง

แบบสอบถามมีดังนี้

mysql> อธิบาย syntaxOfAlterCommandDemo;

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

<ก่อนหน้า>+--------------+--------------+------+----+--- ------+-------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+-------------+--------------+------+ -----+---- -----+-------+| รหัสผู้ใช้ | int(11) | ใช่ | | NULL | || ชื่อผู้ใช้ | varchar(100) | ไม่ | | NULL | || อายุผู้ใช้ | int(11) | ใช่ | | NULL | || ชื่อผู้ใช้ | varchar(50) | ใช่ | | NULL | |+-------------+-------------+------+-----+----- ----+-------+4 แถวในชุด (0.00 วินาที)

ดูผลลัพธ์ตัวอย่างด้านบน คอลัมน์ชื่อผู้ใช้ตอนนี้คือ varchar(100)