org.apache.phoenix.exception.PhoenixParserException: ERROR 604 (42P00): Syntax error. Mismatched input. Expecting "RPAREN", got "s" at line 1, column 197.
使用phoenix插入数据,有一次,遇到了上面描述的这种错误。
事情是这样的,有大量的log,其中有一个ip字段 183.182.119.233,通过ip得到国家名称 Lao People's Democratic Republic
老挝这个国家的英文名称正好,有一个单引号,没错,就是单引号!!
-- SQL例如这样:
UPSERT INTO T_TEST(COUNTRY) VALUES ('Lao People's Democratic Republic');
于是乎报错了。很简单,转义一下就好。
Java 中 replace("'","\\'")
结论:phoenix插入数据,如果存在单引号情况,记住转义处理。