【问题标题】:Memsql procedure error for reading from Query JSON从查询 JSON 读取的 Memsql 过程错误
【发布时间】:2020-01-31 05:20:28
【问题描述】:

我正在尝试读取 Kafka 主题,该主题必须填充到 memsql 中的多个表中。

我正在使用的以下过程将在管道中调用:

DELIMITER //
USING my_db_demo
CREATE OR REPLACE PROCEDURE test_batch_json(batch query(my_json json)) AS
BEGIN
INSERT INTO demo_json_table(id)
SELECT my_json::id FROM batch;
INSERT INTO demo_json_table2(name)
SELECT my_json::name FROM batch;
END //
DELIMITER ;

在执行过程时出现错误:

“ERROR 1064 (42000): 你的 SQL 语法有错误;检查 与您的 MySQL 服务器版本相对应的手册 在“PROCEDURE test_batch_json(batch query(my_json)”附近使用的语法 json)) AS BEGIN INSERT INTO d' at line 1 错误 1146 (42S02): 表 ‘my_db_demo.batch’ 不存在”

我是 memsql 的新手,目前使用版本:6.7.5。下面是我用的json的格式,怎么解决,不知道batch是不是表:

{"id": 345, "name": "Roony"}

谢谢

【问题讨论】:

  • Table ‘my_db_demo.batch’ doesn’t exist
  • 这是memsql.com/blog/6-5-pipelines 中提到的过程管道的一部分。我不确定批次是否属于我的问题。

标签: mysql apache-kafka singlestore


【解决方案1】:

@giorgos-myrianthous 将其钉在 cmets 中。答案在错误消息的末尾:Table ‘my_db_demo.batch’ doesn’t exist 您正在尝试创建一个存储过程,该过程将访问一个不存在的表。在my_db_demo 数据库中创建batch 表,您应该会更进一步。

【讨论】:

  • 感谢您的回复。我看到了错误,但我要强调的是过程中的批处理是一个参数,这不是一个表。我可能错过了一些元数据创建,这在 memsql studio 中有效,而不是在我的本地 memsql 设置中。
  • 你是对的。我错过了它是存储过程中的一个参数。看起来 JSON 查询语法可能是困扰我们的原因。看看json_extract_double(...docs.memsql.com/v7.0/reference/sql-reference/json-functions/… 中的json_extract_double(... 特别奇怪的是它在一个中起作用,而在另一个中不起作用。两种环境之间的 MemSQL 引擎版本是否不同?
  • 是的,我本地的版本是 6.7.5,而在工作室中它高于 7。但是,管道功能也应该在我的本地版本中工作,不要认为这是一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多