Мне интересно экспортировать подмножество значений из базы данных MySQL в файл в формате JSON на диске.
Я нашел ссылку, которая говорит о возможном способе сделать это: http://www.thomasfrank.se/mysql_to_json.html
... но когда я использую метод с этой страницы, он работает, но с двумя проблемами:
1) Он возвращает только около 15 результатов, при этом последний резко прерывается (неполный). Мой стандартный запрос для этого возвращает около 4000 результатов, когда я просто запускаю его как SELECT name, email FROM students WHERE enrolled IS NULL
Но когда я запускаю его как:
SELECT
CONCAT("[",
GROUP_CONCAT(
CONCAT("{name:'",name,"'"),
CONCAT(",email:'",email,"'}")
)
,"]")
AS json FROM students WHERE enrolled IS NULL;
... как описано в ссылке, он возвращает только (как я упоминал) 15 результатов. (fwiw, я проверил эти результаты против 4000, которые я должен получить, и эти 15 совпадают с первыми 15 из 4000)
2) Кажется, что символы "escape" включены в фактический файл, когда я добавляю INTO OUTFILE '/path/to/jsonoutput.txt' FIELDS TERMINATED BY ','
в конец этого запроса. Таким образом, запятые в конечном итоге выглядят как "\", когда, очевидно, я просто хотел бы иметь запятые без \.
Любые идеи о том, как получить правильный вывод JSON из MySQL? (Либо используя этот метод, либо какой-либо другой метод)?
Спасибо!