我正在为phoenix编写upsert脚本以在hbase中创建记录。
CREATE TABLE IF NOT EXISTS temp.table (
id bigint(20),
created_at timestamp,
updated_at timestamp,
CONSTRAINT pk PRIMARY KEY (id)
);
当我使用upsert脚本
时upsert into temp.table values(1000,'2014-07-30 13:33:45','2014-07-30 13:33:45');
我收到以下错误
Error: ERROR 203 (22005): Type mismatch. TIMESTAMP and VARCHAR for 2014-07-30 13:33:45 (state=22005,code=203)
当我使用
时upsert into temp.table values(1000,13907665544,13907665544);
我收到错误
Error: ERROR 203 (22005): Type mismatch. TIMESTAMP and LONG for 13907665544 (state=22005,code=203)
当列有timestamp
时,写入upsert脚本的另一种形式是什么?
答案 0 :(得分:1)
再次检查您的查询。你应该改变你的查询
upsert into temp.test_table(1000,'2014-07-30 13:33:45','2014-07-30 13:33:45');
到
upsert into temp.test_table values (1000,'2014-07-30 13:33:45','2014-07-30 13:33:45');
在 sqlline版本1.1.8
上测试此外,我已将表名从temp.table
更改为temp.test_table
,因为它给了我以下错误
org.apache.phoenix.exception.PhoenixParserException: ERROR 604 (42P00): Syntax error. Mismatched input. Expecting "NAME", got "table" at line 1, column 33.