mysql - 从查询 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”}
谢谢
解决方案
@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.
推荐阅读
- xml - XSLT:递归连接父节点属性值与子节点属性值
- ruby-on-rails - 检查子记录是否会命中 Rails 中的数据库
- azure - 在运行 terraform init 之前制作 Azure 存储帐户和容器?
- sql - 将多列与postgresql中的单个值进行比较
- html - 如果一个框高于其他框,如何使用显示 flex 换行并删除空格
- c++ - 多态对象数组
- java - 在 Jmeter 中,如何等待前一个采样器(JDBC 请求)完成然后启动新的采样器请求(Http 请求)
- java - Android 工作室:com.google.android.gms.internal.zzbgl 未找到
- amazon-web-services - 使用 localstack 运行 lambda 函数
- python - 熊猫替换多个值