我正在尝试使用 Crate 的 2.1.8 HTTP 端点插入一行,但它系统地失败并出现错误 4003:我的表包含一个作为对象数组的列,它失败并出现错误 4003:“SQLActionException[ColumnValidationException: Validation failed for arr : '[{\“t\“:1}, {\“z\“:\“foo\“}]' 不能转换为object_array]”</p>
这是表创建: CREATE TABLE IF NOT EXISTS “doc”.“test” ( “arr” ARRAY(OBJECT (DYNAMIC)), “name” STRING )
现在这是我的 json :
{“stmt”:“插入\“test\”(\“name\”,\“arr\“)值(?,?)“,“args”:[“test”,“[{\“t\ “:1}, {\“z\”:\“foo\“}]“]}
和我发布请求的命令: wget --header “Content-Type: application/json” --post-file query_test.json -O - '<a href="http://localhost:4200/_sql?types&error_trace= true" rel="nofollow noreferrer">http://localhost:4200/_sql?types&error_trace=true'
结果是: 4003 : “SQLActionException[ColumnValidationException: Validation failed for arr: '[{\“t\“:1}, {\“z\”:\“foo\“}]' 不能转换为类型 object_array] ”</p>
如果我从 Web 控制台运行它: INSERT INTO “test” (“name”,“arr”) VALUES ('test', [{“t”=1}, {“z”='foo'}]); 它工作正常......知道我做错了什么吗?