目前我正在 MariaDB 中使用 JSON 进行第一步。我有一个表“users”,其中有一列“hunde”。此列的类型为 JSON,包含 ID 数组(引用表“hunde”中的元素)。任务很简单:删除该数组中包含特定 ID 的条目。我正在使用 HeidiSQL 进行测试并尝试了这个语句:
UPDATE users SET hunde=JSON_REMOVE(hunde, JSON_SEARCH(hunde, 'one', 33)) WHERE id=2
但是它会抛出一个错误,表明未满足约束。 当我单独查询这个
JSON_SEARCH(hunde, 'one', 33))
时,它会返回正确的选择器。
但是,当我查询嵌套调用的结果时,它返回 NULL。
我做错了什么?
我最终得到了这个解决方法(mysqli),但它有点丑陋而且不直接:JSON_REMOVE(hunde, JSON_SEARCH(hunde, 'one', 33))
MariaDB的版本是5.5.5-10.4.17-MariaDB
我执行了上面提到的查询,并期望该值被删除,但出现错误。