Phoenix 执行错误 ERROR 604 (42P00): Syntax error. Mismatched input. Expecting "RPAREN", got "s"

在使用Apache Phoenix进行数据插入时,遇到含有特殊字符单引号的字符串字段会导致语法错误。本文通过具体案例,详细解释了如何在Java中对单引号进行转义处理,以避免SQL语法错误。

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插入数据,如果存在单引号情况,记住转义处理。

 

 

 

Build target 'Target 1' assembling miaobiao.asm... miaobiao.asm(68): error A39: REGISTER OPERAND EXPECTED miaobiao.asm(73): error A39: REGISTER OPERAND EXPECTED miaobiao.asm(78): error A39: REGISTER OPERAND EXPECTED miaobiao.asm(87): error A17: INVALID BYTE BASE IN BIT ADDRESS EXPRESSION miaobiao.asm(95): warning A52: VALUE HAS BEEN TRUNCATED TO 8 BITS miaobiao.asm(108): error A9: SYNTAX ERROR miaobiao.asm(108): error A9: SYNTAX ERROR miaobiao.asm(110): error A9: SYNTAX ERROR miaobiao.asm(110): error A7: LABEL NOT PERMITTED miaobiao.asm(117): error A17: INVALID BYTE BASE IN BIT ADDRESS EXPRESSION miaobiao.asm(122): error A9: SYNTAX ERROR miaobiao.asm(122): error A9: SYNTAX ERROR miaobiao.asm(123): error A17: INVALID BYTE BASE IN BIT ADDRESS EXPRESSION miaobiao.asm(124): error A9: SYNTAX ERROR miaobiao.asm(124): error A7: LABEL NOT PERMITTED miaobiao.asm(136): error A9: SYNTAX ERROR miaobiao.asm(136): error A9: SYNTAX ERROR miaobiao.asm(140): error A9: SYNTAX ERROR miaobiao.asm(140): error A9: SYNTAX ERROR miaobiao.asm(142): error A9: SYNTAX ERROR miaobiao.asm(142): error A7: LABEL NOT PERMITTED miaobiao.asm(144): error A9: SYNTAX ERROR miaobiao.asm(144): error A9: SYNTAX ERROR miaobiao.asm(148): error A9: SYNTAX ERROR miaobiao.asm(148): error A9: SYNTAX ERROR miaobiao.asm(150): error A9: SYNTAX ERROR miaobiao.asm(150): error A7: LABEL NOT PERMITTED miaobiao.asm(152): error A9: SYNTAX ERROR miaobiao.asm(152): error A9: SYNTAX ERROR miaobiao.asm(156): error A9: SYNTAX ERROR miaobiao.asm(156): error A9: SYNTAX ERROR miaobiao.asm(158): error A9: SYNTAX ERROR miaobiao.asm(158): error A7: LABEL NOT PERMITTED miaobiao.asm(161): error A9: SYNTAX ERROR miaobiao.asm(161): error A7: LABEL NOT PERMITTED miaobiao.asm(164): error A9: SYNTAX ERROR miaobiao.asm(164): error A7: LABEL NOT PERMITTED miaobiao.asm(167): error A9: SYNTAX ERROR miaobiao.asm(167): error A7: LABEL NOT PERMITTED miaobiao.asm(170): error A9: SYNTAX ERROR miaobiao.asm(170): error A7: LABEL NOT PERMITTED miaobiao.asm(173): error A9: SYNTAX ERROR miaobiao.asm(173): error A9: SYNTAX ERROR miaobiao.asm(243): error A17: INVALID BYTE BASE IN BIT ADDRESS EXPRESSION miaobiao.asm(243): error A9: SYNTAX ERROR miaobiao.asm(243): error A9: SYNTAX ERROR miaobiao.asm(244): error A17: INVALID BYTE BASE IN BIT ADDRESS EXPRESSION miaobiao.asm(244): error A9: SYNTAX ERROR miaobiao.asm(244): error A9: SYNTAX ERROR miaobiao.asm(247): error A9: SYNTAX ERROR miaobiao.asm(247): error A7: LABEL NOT PERMITTED Target not created. Build Time Elapsed: 00:00:00报错
最新发布
07-06
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值