如果我在mysql中将数据类型设置为JSON,并在其中保存以下内容,保存就可以了。
{
"root": [{
"parent_01": [{
"parent_02": [{
"parent_03": [{
"parent_04": [{
"parent_05": [{
"parent_06": [{
"parent_07": [{
"parent_08": [{
"parent_09": [{
"parent_10": [{
"parent_11": [{
"parent_12": [{
"parent_13": [{
"parent_14": []
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}
但是,如果我尝试再保存一个级别,我将收到错误消息CONSTRAINT projectpages.origin_html_structure
failed for tailwindui
. projectpages
。
{
"root": [{
"parent_01": [{
"parent_02": [{
"parent_03": [{
"parent_04": [{
"parent_05": [{
"parent_06": [{
"parent_07": [{
"parent_08": [{
"parent_09": [{
"parent_10": [{
"parent_11": [{
"parent_12": [{
"parent_13": [{
"parent_14": [{
"parent_15": []
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}
如果我在最后一次潜水中使用字符串,那么保存就很好,JSON_DEPTH在给定列返回32:
"parent_14": [{
"parent_15": "String content"
}]
// returns 32
select JSON_DEPTH(origin_html_structure) from projectpages
但是,如果我将字符串更改为数组,我将再次收到上面的错误消息,并且保存将失败:
"parent_14": [{
"parent_15": []
}]
为什么会这样呢?我唯一想到的是mysql对json列设置了深度限制,但是我在网上没有找到这个信息,无论如何,我需要更深层次的沉浸式存储结构,如果我用实际的LONG TEXT或者MEDIUM TEXT代替数据类型,我会正确的保存它,但在这种情况下,它不是一个原生的JSON。请提供建议和任何信息。谢谢。
1条答案
按热度按时间gr8qqesn1#
是的,你说得对.深度限制是32.