首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能将这个插入到MySQL中?

为什么我不能将这个插入到MySQL中?
EN

Stack Overflow用户
提问于 2012-12-27 13:41:45
回答 6查看 217关注 0票数 3

我可能在查询语法上犯了一个愚蠢的错误,但我无法修复它。下面是我的程序试图执行的查询:

代码语言:javascript
复制
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。你能告诉我我做错了什么吗?谢谢!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-12-27 13:43:07

错误告诉您,错误发生在文本key上,并且非常正确: is a reserved word in MySQL

如果您使用它作为字段名,则必须将其括在后面(`);无论如何,这是一个很好的通用实践。

所以:

代码语言:javascript
复制
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'
)
票数 13
EN

Stack Overflow用户

发布于 2012-12-27 13:44:21

尝试使用以下查询

代码语言:javascript
复制
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

票数 4
EN

Stack Overflow用户

发布于 2012-12-27 13:44:53

键是一个保留字,如果不使用backtics,就不能在列名中使用它。尝尝这个

代码语言:javascript
复制
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')
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14055644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档