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

จะแก้ไขขนาดของคอลัมน์ในตาราง MySQL ได้อย่างไร?


เราสามารถปรับเปลี่ยนขนาดคอลัมน์โดยใช้คำสั่ง ALTER ให้เราดูวิธีการปรับเปลี่ยนขนาดคอลัมน์ สมมติว่าเรากำลังกำหนดคอลัมน์ใด ๆ ที่มีขนาดบาง ในขณะที่ใส่ถ้าใส่ให้ขนาดมากกว่าเมื่อเทียบกับที่เรากำหนดไว้ จะเกิดข้อผิดพลาด

ปัญหาข้างต้นสามารถลดลงได้ในขณะที่ปรับเปลี่ยนขนาด เพื่อความเข้าใจที่มากขึ้น เราสามารถสร้างตารางโดยใช้คำสั่ง CREATE −

mysql> สร้างตาราง ModifyColumnNameDemo-> (-> id int,-> StudentName varchar(10)-> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.45 วินาที)

หลังจากสร้างตารางสำเร็จแล้ว เราสามารถแทรกระเบียนลงในตารางโดยใช้คำสั่ง INSERT

mysql> INSERT ลงในค่า ModifyColumnNameDemo (1,'CarolTaylor');ข้อผิดพลาด 1406 (22001):ข้อมูลยาวเกินไปสำหรับคอลัมน์ 'StudentName' ที่แถว 1

จากข้อความค้นหาข้างต้น เราได้รับข้อผิดพลาด 1406 ข้อผิดพลาดนี้สามารถแก้ไขได้ขณะแก้ไขคอลัมน์ เราสามารถใช้คำสั่ง ALTER สำหรับสิ่งนี้ ต่อไปนี้เป็นวากยสัมพันธ์ −

ALTER table yourTableName แก้ไข column_name;

การใช้แบบสอบถามข้างต้นเพื่อแก้ไขขนาดของคอลัมน์เป็นบางขนาด -

mysql> แก้ไขตาราง ModifyColumnNameDemo แก้ไข StudentName varchar(200) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.54 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

หลังจากนั้นเราสามารถตรวจสอบขนาดของคอลัมน์ชื่อ 'StudentName' ได้ขนาด 200 แบบสอบถามมีดังต่อไปนี้ -

mysql> DESC ModifyColumnNameDemo;

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

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

ดูคอลัมน์ StudentName ด้านบน ขนาดได้เปลี่ยนเป็น 200 ตอนนี้ เราสามารถแทรกระเบียนลงในตารางแล้ว และจะไม่ได้รับข้อผิดพลาดใดๆ มาเช็คกัน −

mysql> INSERT ลงในค่า ModifyColumnNameDemo (1,'CarolTaylor'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)

แทรกบันทึกข้างต้นลงในตารางเรียบร้อยแล้ว เราสามารถแสดงบันทึกที่แทรกไว้ด้านบนโดยใช้คำสั่ง SELECT -

mysql> SELECT * จาก ModifyColumnNameDemo;

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

| id | ชื่อนักเรียน |+------+-------------+| 1 | CarolTaylor|+------+-------------+1 แถวในชุด (0.00 วินาที)

ดูผลลัพธ์ด้านบน บันทึกถูกแทรกเรียบร้อยแล้วหลังจากแก้ไขขนาดของคอลัมน์