【发布时间】:2019-05-06 20:33:57
【问题描述】:
我正在使用 JMeter 在 mySQL 数据库(memsql 服务器、mySQL 语法)上加载测试查询。我正在使用 JMeter 的 gui 版本创建测试计划 xml 文件,然后转到另一台服务器并以非 gui 模式运行该 xml。
我有两个查询正在运行,一个用于选择,一个用于插入。这两个查询都使用从我用脚本制作的 csv 文件中获取的参数。 我的 SELECT 语句适用于从 csv 文件中获取的参数,但我的 INSERT 语句遇到了语法错误:
INSERT INTO customer_transactions_current (`column_name1`, ... , `column_name12`)
VALUES ((${r1},${r2},${r3},${r4},${r5},${r6},${r7},${r8},${r9},${r10},${r11},${r12}));
在“CSV 数据集配置”下的 gui 模式下的查询部分中,我选择用“,”分隔数据,变量名称为 r1,..,r12。 在查询本身下,我输入了参数类型,并再次输入了相同的名称,就像我为工作 SELECT 查询所做的那样。
当我运行查询时,我在第一列(日期时间类型)上遇到了语法错误:
java.sql.SQLSyntaxErrorException: 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 '19:00:00,75400492,936988,56,1115,5,2156,8,2,3,909,3))' at line 2
我输入的日期格式为:“2018-11-2 20:00:00”,并且在 csv 文件中它们不带撇号。
似乎语法错误与日期有关,并且在它包含空格的位置。我尝试为该列输入 STR_TO_DATE 函数,但不断收到语法错误。 但是当我尝试从文件中获取一些值并手动运行查询时,它工作正常!所以我的想法是,在发送查询之前,它与 JMeter 的空格转换有关。
我的 JMeter 配置有问题吗?由于手动查询是确定的。
【问题讨论】:
-
使用反引号分隔列名。
-
@jarlh 谢谢,我在原始查询中做了。我会在这里编辑它。
标签: mysql sql jmeter syntax-error sql-insert