【发布时间】:2017-11-22 04:03:50
【问题描述】:
在执行 SQL 脚本时,我遇到了这个错误:
ERROR 1064 (42000) - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 7 行的“rows int(12) NOT NULL default '600', timespan int(12) unsigned NOT NULL defaul”附近使用正确的语法
创建的代码是:
CREATE TABLE rra (
id mediumint(8) unsigned NOT NULL auto_increment,
hash varchar(32) NOT NULL default '',
name varchar(100) NOT NULL default '',
x_files_factor double NOT NULL default '0.1',
steps mediumint(8) default '1',
rows int(12) NOT NULL default '600',
timespan int(12) unsigned NOT NULL default '0',
PRIMARY KEY (id)
) ENGINE=MyISAM;
我不明白语法有什么问题。 任何帮助将不胜感激!
【问题讨论】:
-
可能需要将整数/小数而不是字符串传递给这些类型(int、double)。从 600 中删除单引号。
-
删除字段,直到找到导致问题的原因
-
我找到了:rows 是 MariaDB 中的保留字 mariadb.com/kb/en/mariadb/reserved-words 使用不同的列名(numrows 之类的)
-
谢谢雅各布!更改了列名。问题解决了。
-
@JuanCarlosOropeza - 1064 几乎总是正好指向或紧接在违规标记之后。无需到处钓鱼。