Mysql 通过文件在Grails引导中进行数据插入

Mysql 通过文件在Grails引导中进行数据插入,mysql,grails,Mysql,Grails,在Grails2.5中,我在引导文件中插入了一些DB数据,但我总是遇到这样的错误:SQL语法中有一个错误;查看与MySQL服务器版本对应的手册,以了解第1行“countries\u data.sql”附近使用的正确语法 虽然当我获取这个文件并在我的数据库上运行它时,它成功地完成了插入 以下是引导代码: 以下是一些插入语句: INSERT INTO countries ( id,version, iso3166_3, name, phonecode) VALUES ( 1,0, "AFG", "A

在Grails2.5中,我在引导文件中插入了一些DB数据,但我总是遇到这样的错误:SQL语法中有一个错误;查看与MySQL服务器版本对应的手册,以了解第1行“countries\u data.sql”附近使用的正确语法

虽然当我获取这个文件并在我的数据库上运行它时,它成功地完成了插入

以下是引导代码:

以下是一些插入语句:

INSERT INTO countries ( id,version, iso3166_3, name, phonecode) VALUES ( 1,0, "AFG", "Afghanistan", 93); // line 1
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (2, 0, 'ALB', 'Albania', 355);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (3, 0, 'DZA', 'Algeria', 213);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (4, 0, 'ASM', 'American Samoa', 1684);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (5, 0, 'AND', 'Andorra', 376);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (6, 0, 'AGO', 'Angola', 244);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (7, 0, 'AIA', 'Anguilla', 1264);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (8, 0, 'ATA', 'Antarctica', 0);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (9, 0, 'ATG', 'Antigua And Barbuda', 1268);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (10, 0, 'ARG', 'Argentina', 54);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (11, 0, 'ARM', 'Armenia', 374);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (12, 0, 'ABW', 'Aruba', 297);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (13, 0, 'AUS', 'Australia', 61);
我的数据库是MYSQL 5.7.18,有什么建议吗?

似乎输入错误。 也许,应该是

sql.executesqlStringCountries

而不是


sql.executesqlFilePathCountries

看起来您正试图将文件路径传递给sql.execute。这不应该是sql.executeSqlStringCountries吗?因此,我再次遇到了相同的错误,并通过将脚本中的所有单引号“改为双引号”来解决它。
INSERT INTO countries ( id,version, iso3166_3, name, phonecode) VALUES ( 1,0, "AFG", "Afghanistan", 93); // line 1
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (2, 0, 'ALB', 'Albania', 355);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (3, 0, 'DZA', 'Algeria', 213);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (4, 0, 'ASM', 'American Samoa', 1684);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (5, 0, 'AND', 'Andorra', 376);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (6, 0, 'AGO', 'Angola', 244);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (7, 0, 'AIA', 'Anguilla', 1264);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (8, 0, 'ATA', 'Antarctica', 0);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (9, 0, 'ATG', 'Antigua And Barbuda', 1268);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (10, 0, 'ARG', 'Argentina', 54);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (11, 0, 'ARM', 'Armenia', 374);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (12, 0, 'ABW', 'Aruba', 297);
INSERT INTO countries (id, version, iso3166_3, name, phonecode) VALUES (13, 0, 'AUS', 'Australia', 61);