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

แก้ไขข้อผิดพลาด 1064 (42000) ที่เกิดขึ้นหลังจากใช้ varchar (โดยไม่ระบุขนาด)


ให้เราดูก่อนว่าสถานการณ์นี้สามารถเกิดขึ้นได้เมื่อใด สร้างตารางและตั้งชื่อคอลัมน์ด้วยประเภทข้อมูล แต่ไม่มีขนาด -

mysql> สร้างตาราง DemoTable ( Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar, LastName varchar); ข้อผิดพลาด 1064 (42000):คุณมีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ตรวจสอบคู่มือที่สอดคล้องกับเวอร์ชันเซิร์ฟเวอร์ MySQL ของคุณสำหรับไวยากรณ์ที่ถูกต้องเพื่อใช้ใกล้กับ ',LastName varchar)' ที่บรรทัด 4

คุณสามารถแก้ไขข้อผิดพลาดข้างต้นได้โดยระบุขนาดสำหรับประเภทข้อมูล varchar เช่น varchar(100) เช่นเดียวกันจะแก้ไขปัญหาได้

มาแก้ไขและสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(100), LastName varchar(100)); Query OK, 0 แถวได้รับผลกระทบ (0.60 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable(FirstName,LastName) ('Adam','Smith');Query OK, 1 แถวได้รับผลกระทบ (0.25 วินาที)mysql> แทรกลงในค่า DemoTable (FirstName,LastName) ('John', 'Doe');Query OK, 1 แถวได้รับผลกระทบ (0.38 วินาที)mysql> แทรกลงในค่า DemoTable (FirstName,LastName) ('Chris','Brown');Query OK, 1 แถวได้รับผลกระทบ (0.11 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-----------+----------+| รหัส | ชื่อจริง | นามสกุล |+----+-----------+----------+| 1 | อดัม | สมิธ || 2 | จอห์น | โด || 3 | คริส | สีน้ำตาล |+----+-----------+----------+3 แถวในชุด (0.00 วินาที)