错误1064(42000) - SQL语法中有错误;查看与您的MariaDB服务器版本对应的手册,以获得正确的语法

时间:2017-06-19 20:05:42

标签: mysql sql syntax mariadb

执行SQL脚本时,我遇到了这个错误:

错误1064(42000) - SQL语法中有错误;检查与您的MariaDB服务器版本对应的手册,以便在'rows int(12)NOT NULL default'600'附近使用正确的语法,timespan int(12)unsigned NOT NULL defaul'在第7行

创建的代码是:

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;

我无法理解语法中的错误。 任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

此解决方案的问题是脚本都失败了。 SQL正在寻找表列'行'。

答案 1 :(得分:0)

删除数字字段上默认值周围的引号,并重命名列行。行是保留字。

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,
    rra_rows int(12) NOT NULL default 600,  -- rows is a reserved word
    timespan int(12) unsigned NOT NULL default 0,
    PRIMARY KEY  (id)
) ENGINE=MyISAM;