ไม่สามารถใช้ชื่อคอลัมน์ desc ใน mysql ได้

INSERT INTO movie (id, title, desc, released, views, featured) VALUES ('', 'title', '
\r\n    description
\r\n', '2006-12-12', '0', '0')

ข้อผิดพลาดคือ

1,064 - คุณมีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ตรวจสอบคู่มือที่สอดคล้องกับเวอร์ชันเซิร์ฟเวอร์ MySQL ของคุณเพื่อหาไวยากรณ์ที่ถูกต้องเพื่อใช้ใกล้กับ 'desc, release, views, allowance) VALUES ('', 'title', ' \r\n description \r\n', ' at line 1

โครงสร้างตารางคือ

id [ (pk, auto_inc) int(11) ]
title [ varchar(256) ]
desc [ text ]
released [ date ]
views [ int(11) ]
featured [ int(11) ]

ทำงานในตัวแก้ไข phpmyadmin sql


person Bilal    schedule 20.11.2011    source แหล่งที่มา
comment
คุณต้องใช้ backticks `` รอบๆ คำ desc ` desc ` (แต่ให้ข้ามช่องว่างในจุดเริ่มต้นและจุดสิ้นสุด)   -  person John Svensson    schedule 20.11.2011


คำตอบ (3)


desc คือ คำสงวนของ mysql คุณต้องใช้ backticks `` กับคอลัมน์ที่เป็นคำสงวน

INSERT INTO movie (id, title, `desc`, released, views, featured)...

คุณควรหลีกเลี่ยงการใช้คำสงวนเป็นชื่อคอลัมน์หรือต้องใช้ backticks (``)

person Shakti Singh    schedule 20.11.2011

คำว่า desc เป็นคำสงวน และจะต้องอยู่ใน backticks เมื่อใช้เป็นชื่อคอลัมน์

INSERT INTO movie (id, title, `desc`, released, views, featured) VALUES
-- ...etc...

ฉันขอแนะนำไม่ให้คุณใช้ desc เป็นชื่อคอลัมน์ในอนาคตเนื่องจากอาจทำให้เกิดความสับสนและอาจทำให้เกิดปัญหาได้ คุณสามารถใช้ description แทนได้ เป็นต้น

person Mark Byers    schedule 20.11.2011

DESC เป็นคำสงวนของ MySQL และหากคุณใช้สำหรับการตั้งชื่อ ให้พิจารณาใช้ `desc`

person Nedret Recep    schedule 20.11.2011