我正在尝试在下面的查询表中插入一些值:
Insert into
auditlog (
event,
desc,
userid,
useripaddress,
audittype
)
VALUES (
'User Authenticated',
'Useradminsuccessfully logged in to the system',
'1',
'127.0.0.1','1'
)
它给我以下错误: #1064 - 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'desc,userid,useripaddress,audittype'附近使用正确的语法VALUES('User Authenticated','User admin su'在第1行
但是当我使用PHPMYAdmin运行插入时,它会插入一个值,生成的查询是
INSERT INTO
`auditlog`(
`event`,
`desc`,
`userid`,
`useripaddress`,
`audittype`)
VALUES (
'User Authenticated',
'Useradminsuccessfully logged in to the system',
'1',
'127.0.0.1','1'
)
我看到的唯一区别是我不相信需要的报价。我不明白我哪里出错了,而且现在我的头脑坏了:):))
答案 0 :(得分:4)
desc
周围需要反引号,因为它是reserved word。
INSERT INTO auditlog (event, `desc`, userid, useripaddress, audittype)
VALUES (
'User Authenticated',
'Useradminsuccessfully logged in to the system',
'1',
'127.0.0.1',
'1'
)
如果您不确定它们是否为保留字,则在其他列名称周围添加反引号也没有任何害处。
答案 1 :(得分:0)
以下是保留且需要反对的词语列表:http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html