This is a set of three JSON functions, which add the given element to the end of a JSON array. Arrays are of the form:

["foo", "bar", "baz"]
["foo", 1, 2, 3]
  • JSON_ARRAY_PUSH_DOUBLE is for all numeric data. Javascript has only one numeric type.
  • JSON_ARRAY_PUSH_STRING is for all text and binary types.
  • JSON_ARRAY_PUSH_JSON is for all valid Javascript types, including true, false, JSON maps, and lists.

    JSON_ARRAY_PUSH_<type>(json, value)


  • json: a valid JSON array, or the name of a JSON column

  • value: the value to add to the array

Return Value

  • The complete array including the new element.
  • SQL NULL if json is not a valid JSON array.


mysql> select json_array_push_string('["foo", "bar"]', 'foo') as add_foo;
| add_foo             |
| ["foo","bar","foo"] |

mysql> select json_array_push_json('["foo", false]', '{"a":"b"}') as add_map;
| add_map                 |
| ["foo",false,{"a":"b"}] |
Was this article useful?