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

ข้อผิดพลาด MySQL คืออะไร:"ข้อมูลยาวเกินไปสำหรับคอลัมน์"


ข้อผิดพลาด "ข้อมูลยาวเกินไปสำหรับคอลัมน์" เกิดขึ้นเมื่อคุณแทรกข้อมูลเพิ่มเติมสำหรับคอลัมน์ที่ไม่มีความสามารถในการจัดเก็บข้อมูลนั้น

ตัวอย่าง - หากคุณมีประเภทข้อมูล varchar (6) แสดงว่าเก็บได้เพียง 6 อักขระ ดังนั้น หากคุณให้อักขระมากกว่า 6 ตัว จะเกิดข้อผิดพลาด

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

mysql> สร้างตาราง DataToolongDemo −> ( −> Name varchar(10) −> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.55 วินาที)

ข้างต้น เราได้สร้างตารางเรียบร้อยแล้ว เราได้ตั้งค่าฟิลด์ "ชื่อ" ด้วย "varchar(10) ตอนนี้ หากเราให้อักขระมากกว่า 10 ตัว จะเกิดข้อผิดพลาด

ข้อผิดพลาดมีดังนี้ −

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

ในการแก้ไขข้อผิดพลาดข้างต้น คุณสามารถตั้งค่าประเภทเป็นข้อความยาวได้ แบบสอบถามมีดังต่อไปนี้เพื่อเปลี่ยนประเภทเป็นข้อความยาวเนื่องจากขณะนี้ประเภทคือ “varchar” −

mysql> แก้ไขตาราง DataToolongDemo เปลี่ยนชื่อ Name Longtext; Query OK, 0 แถวได้รับผลกระทบ (2.22 วินาที) ระเบียน:0 รายการซ้ำ:0 คำเตือน:0

ตอนนี้ หากคุณจะใส่บันทึกเดียวกัน ก็จะไม่มีข้อผิดพลาดเกิดขึ้น -

mysql> แทรกลงในค่า DataToolongDemo ('Carol Taylor'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก DataToolongDemo;

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

<ก่อนหน้า>+-------------+| ชื่อ |+-------------+| Carol Taylor |+-------------+1 แถวในชุด (0.00 วินาที)