我試圖解決如何根據某些條件將零附加到存儲在MySQL表中的多個記錄的特定JSON解碼數組值。將值附加到存儲在MySQL中的JSON解碼數組參數
例如,用於表「菜單」,列「PARAMS」(文本)具有包含JSON記錄解碼此格式的數組:
{"categories":["190"],"singleCatOrdering":"","menu-anchor_title":""}
和列「ID」具有90
數值我的目標是零添加到「類別」中menu.params值每當(例如)menu.id是下100
該記錄結果是
{"categories":["1900"],"singleCatOrdering":"","menu-anchor_title":""}
所以即時查找SQL查詢將搜索並查找數據庫中「類別」:[「999」]的出現次數,並通過在值的末尾添加一個零來更新記錄。
這answer是部分有用的提供使用mysql-udf-regexp但它指的是替換一個值,而不是更新它。 也許是REGEXP_REPLACE?函數將會訣竅。我從來沒有使用過這個庫,也不熟悉它,也許有更簡單的方法來實現我所需要的?
感謝
切換到MariaDB;它與MySQL兼容,但也具有JSON操作功能。 –
嗨@RickJames,它是一個好主意,但目前我不能,我正在做的工作是它使用MySQL的Joomla CMS的一部分... – buzibuzi
Joomla不應該注意到它的區別。 (不,我沒有_real_證據支持這種說法。) –