我可能在查询语法上犯了一个愚蠢的错误,但我无法修复它。下面是我的程序试图执行的查询:
INSERT INTO filez (
filename,
uploadedby,
dateuploaded,
public,
FileSize,
FileTransferSize,
key,
bytes
)
VALUES(
'tacct/tesABCscdsdasdasdD.testtest',
'tacct',
'%27 %December %2012, %7:%32:%15%AM',
1,
7,
7,
'`',
'TestDoc'
)下面是mysql_error:
您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以获得在第1行使用“键、字节”值的正确语法(“tacct/tesABCscdsdasdasdD.testtest”、“tacct”、“%27%D”)。
除了查询中的FileSize和FileTransferSize之外,我对所有内容都执行了FileSize。你能告诉我我做错了什么吗?谢谢!
发布于 2012-12-27 13:43:07
错误告诉您,错误发生在文本key上,并且非常正确: is a reserved word in MySQL。
如果您使用它作为字段名,则必须将其括在后面(`);无论如何,这是一个很好的通用实践。
所以:
INSERT INTO `filez` (
`filename`,
`uploadedby`,
`dateuploaded`,
`public`,
`FileSize`,
`FileTransferSize`,
`key`,
`bytes`
)
VALUES(
'tommy3244/tesABCscdsdasdasdD.testtest',
'tommy3244',
'%27 %December %2012, %7:%32:%15%AM',
1,
7,
7,
'`',
'TestDoc'
)发布于 2012-12-27 13:44:21
尝试使用以下查询
INSERT INTO filez (filename, uploadedby, dateuploaded, public, FileSize, FileTransferSize, `key`, bytes) VALUES
('tommy3244/tesABCscdsdasdasdD.testtest', 'tommy3244', '%27 %December %2012, %7:%32:%15%AM',
1, 7, 7, '`', 'TestDoc')key是关键字,所以您必须像我上面使用的那样使用backticks。有关更多信息,请查看以下问题:Select a column with a keyword name
发布于 2012-12-27 13:44:53
键是一个保留字,如果不使用backtics,就不能在列名中使用它。尝尝这个
INSERT INTO filez (`filename`, `uploadedby`, `dateuploaded`, `public`, `FileSize`, `FileTransferSize`, `key`, `bytes`) VALUES('tommy3244/tesABCscdsdasdasdD.testtest', 'tommy3244', '%27 %December %2012, %7:%32:%15%AM', 1, 7, 7, '`', 'TestDoc')https://stackoverflow.com/questions/14055644
复制相似问题