首页 > 解决方案 > 从查询 JSON 读取的 Memsql 过程错误

问题描述

我正在尝试从 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 服务器版本相对应的手册,以在第 1 行错误 1146 (42S02) 的“PROCEDURE test_batch_json(batch query(my_json json)) AS BEGIN INSERT INTO d”附近使用正确的语法:表“my_db_demo.batch”没有“不存在”</p>

我是 memsql 新手,目前使用版本:6.7.5。下面是我使用的json的格式,如何解决错误,不确定这里的batch是不是表:

{“id”:345,“名称”:“Roony”}

谢谢

标签: mysqlapache-kafkasinglestore

解决方案


@giorgos-myrianthous nails it in the comments. The answer is at the end of the error message: Table ‘my_db_demo.batch’ doesn’t exist You're trying to create a stored procedure that will access a table which doesn't exist. Create the batch table in the my_db_demo database and you should get further.


推荐阅读