使用INSERT INTO的另一个MySQL语法错误

时间:2012-01-10 21:10:54

标签: php mysql syntax insert

MySQL正在为此查询返回语法错误(通过PHP):

INSERT INTO links (link, name, desc, category) 
VALUES ('www.contoso.com', 'Contoso', 'My Website', 'Vanity')
  

错误:   您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'desc,category)附近使用正确的语法VALUES('www.contoso.com','Contoso','我的网站','Vani'在第1行

我认为没有错。是什么给了什么?

4 个答案:

答案 0 :(得分:5)

DESC是一个MySQL保留字......如果你想将它用作列名,你必须将它括在反引号中

单词“near”之后的实际错误消息指示解析器在SQL语句中确切地认为错误的位置...在这种情况下,在单词“desc”处。这通常可以成为诊断问题的良好指南。

答案 1 :(得分:2)

descMySQL reserved keyword.必须用反引号括起来

INSERT INTO links (link, name, `desc`, category) VALUES ('www.datavirtue.com', 'Data Virtue', 'My Website', 'Vanity')

答案 2 :(得分:1)

“desc”是一个保留字。使用“说明”

答案 3 :(得分:0)

DESC是一个保留字,必须使用反引号进行转义。

INSERT INTO links 
    (link, name, `desc`, category) 
    VALUES 
    ('www.datavirtue.com', 'Data Virtue', 'My Website', 'Vanity')