雖然MYSQL 5.7發(fā)布挺長時間了,但是直到今天才有機會用上JSON數(shù)據(jù)類型,表中的數(shù)據(jù)是這樣的
{"201910":{"pv":12,"uv":12},"201909":{"pv":12,"uv":12}}
于是更新的時候用JSON_SET
JSON_SET(`month`, '$.201910.pv', 10)
報錯
3143 - Invalid JSON path expression. The error is around character position 8.
查了文檔發(fā)現(xiàn)語法并沒有什么問題,后來是試了一下對象鍵首位為非數(shù)字的情況,更新就可以了,于是發(fā)現(xiàn)問題所在了
改成一下
JSON_SET(`month`, '$."201910".pv', 10)
原因我猜測是json對象是無序的,但是數(shù)字鍵會讓mysql認為你不是在操作對象元素,所以報語法錯誤,有兄弟知道的話,麻煩留言發(fā)表一下見解。