[英]json data fields and php json functions
似乎我不能在MYSQL表中使用JSON-為字段選擇數據類型時沒有這樣的選項phpMyAdmin ver 4.8.3
。
問題-如果我使用php函數json_encode
和json_decode
在varchar
或text
字段中獲取和設置值-我是否需要JSON字段?
您可以將JSON對象作為字符串存儲在string
字段中,也可以在包含JSON類型數據的字段中使用它
這在MySQL版本8中有效
優點
您可以在此處閱讀整個文檔JSON數據類型
缺點
如果選擇使用VARCHAR
或TEXT
字段將JSON數據存儲為字符串,則需要從數據庫中檢索數據后正確解析數據,以使其表現為正確的JSON對象
是的,您可以這樣做,除非您不想對這些json字符串的鍵值執行搜索。 MySQL Json Type允許您執行此操作,除了以有效的方式存儲json外。
您可以使用Blob或文本類型。 Varchar對於json來說太短了,除非您的json少於255個字符。
斑點可能是個好主意。 您可以將其映射到php中的資源(不將整個文件加載到內存中),然后使用像這樣的json流解析器來讀取文件的內容。
但是同樣, 將json作為字符串存儲將不允許您使用json數據高效地查詢 。
注意:Mysql從5.7.8開始支持Json類型。 PhpMyAdmin是另一軟件。 如果您的json類型不存在,可能是因為您的MySQL版本。 在終端中運行
mysql -V
進行檢查。
從MySQL 5.7.8開始,MySQL支持RFC 7159定義的本機JSON數據類型,該類型可有效訪問JSON(JavaScript對象表示法)文檔中的數據。
檢查您的MySQL版本,以了解它是否支持JSON數據類型。
您問題的答案:
您可以json_encode
您的數據並將其存儲在text
字段中。 從數據庫表中檢索它之后,執行json_decode
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.