【问题标题】:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14),#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '(14) 附近使用的正确语法,
【发布时间】:2014-06-09 22:49:05
【问题描述】:

在 Sphider 的帮助下为我的网站创建搜索引擎

但在创建 MySQL 数据库表时显示以下错误消息

错误 SQL查询:

create table query_log (
query varchar(255),
time timestamp(14),
elapsed float(2),
results int)

MySQL 说:文档

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '(14) 附近使用的正确语法, 经过的浮动(2), 结果 int)' 在第 3 行

【问题讨论】:

  • timestamp(14) 中的 14 应该是什么意思?我认为您不能定义时间戳列的长度/精度。
  • 你只是边走边编吗?

标签: mysql sql


【解决方案1】:

问题在于您的时间戳声明后面的数字。 MySQL 文档提到了时间戳类型:

显示宽度固定为19个字符,格式为'YYYY-MM-DD HH:MM:SS'。

因此,您可以通过以下修改来修复您的代码:

create table query_log (
    query varchar(255),
    time timestamp,
    elapsed float(2),
    results int
)

就数字“14”而言,尚不清楚您将其用于何处。您正在从事的项目是否需要特定长度的时间戳?如果是这样,最好使用其他数据类型,或者将时间戳转换为所需格式从数据库中提取。

我是 StackExchange 的新手,所以我希望我已经充分回答了这个问题。请让我知道我是否可以提供其他帮助!

【讨论】:

  • 您的更改似乎工作正常,可能是 sphiders 代码中的错误 - 我正在尝试为我的网站开发的灵活搜索框和引擎的一部分。不是编程专家,我并不总是能够检测到提供的代码何时错误或有错误。感谢您的帮助
猜你喜欢
  • 2014-08-17
  • 1970-01-01
  • 2016-11-06
  • 2021-08-06
  • 2015-10-23
  • 2022-01-24
  • 2011-08-07
相关资源
最近更新 更多