更新非键列查询pheonixjdbc

rm5edbpk  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(304)

我在更新apachephoenix中的值时遇到问题。下面的查询正在引发jdbc异常。我不熟悉pheonixjdbc,对更新非主键字段值的upsert查询用法感到困惑。

String sql = UPSERT INTO mytable (serverName,SationName, product) SELECT serverName,stationName ‘sampleProduct’ FROM mytable WHERE product = ‘sampleProduct’;

“mytable”的主键是“servername”和“stationname”的组合。我想将product列的值从“sampleproduct”更新为“testproduct”。

sshcrbum

sshcrbum1#

“mytable”的主键是“servername”和“stationname”的组合。我想将product列的值从'sampleproduct'更新为'testproduct'
你没有说“如果行不存在,那么插入”,所以我看不到 UPSERT 视情况而定。mysql代码是

UPDATE myTable
    SET product = 'sampleProduct'
    WHERE serverName = '...'
      AND sampleProduct = '...';

(我不知道“…”需要什么值。)

ndh0cuux

ndh0cuux2#

使用以下行更新sql查询。希望能有帮助。

String sql = "REPLACE INTO mytable (serverName,SationName, product)
         SELECT serverName,stationName , 'sampleProduct'
            FROM mytable WHERE product = 'sampleProduct'";

相关问题