w3resource

Appending Data to JSON Arrays in MySQL


Append Data to a JSON Array Using JSON_ARRAY_APPEND

Write a MySQL query to append a new review to the Reviews JSON array in the Products table using the JSON_ARRAY_APPEND function.

Solution:

-- Append a new review to the Reviews JSON array for a specific product.

-- Specify the table to update.
UPDATE Products

-- Use JSON_ARRAY_APPEND to add a new review to the Reviews JSON array.
-- JSON_ARRAY_APPEND appends the specified value ('Excellent product!') to the end of the JSON array.
SET Reviews = JSON_ARRAY_APPEND(Reviews, '$', 'Excellent product!')

-- Apply the update only to the product with the ProductName 'Smartphone'.
WHERE ProductName = 'Smartphone';

Explanation:

  • Purpose of the Query:
    • To add a new element to an existing JSON array stored in a column.
    • Demonstrates the use of JSON_ARRAY_APPEND for dynamic array modifications.
  • Key Components:
    • JSON_ARRAY_APPEND(Reviews, '$', 'Excellent product!') : Appends the string to the end of the JSON array.
    • WHERE ProductName = 'Smartphone' : Targets the specific product record.
  • Real-World Application:
    • Useful for recording additional customer reviews or comments in a flexible JSON format.

Notes:

  • Ensure that the Reviews column already contains a JSON array; otherwise, the operation may fail.
  • The '$' path indicates the root of the JSON array.

For more Practice: Solve these Related Problems:

  • Write a MySQL query to append an element to a JSON array only if that element does not already exist.
  • Write a MySQL query to append multiple elements to a JSON array in a single update operation.
  • Write a MySQL query to conditionally append data to a JSON array based on a comparison with another column.
  • Write a MySQL query to append a JSON object to an existing JSON array within a column.

Go to:


PREV : Create a Table with a JSON Column.
NEXT : Convert Relational Data to JSON Array of Objects Using JSON_ARRAYAGG.

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.