#mysql #mysql-5.7
#mysql #mysql-5.7
Вопрос:
Я использую mysql 5.7 в двух средах (staging и prod) с этой же версией, но когда я пытаюсь выполнить этот запрос:
SELECT * FROM `EVENT_ONDEMAND_MODULE_CONTENT`
WHERE JSON_EXTRACT(EXTRA_INFO, '$.UPLOAD_ID') = 'Jh24ACh59sJ6mSSpQKXORJVscmy2iD3Dy1B0115L01hbI';
При постановке это работает, но при производстве я получил эту ошибку:
SQLSTATE[22032]: <>: 3141 Недопустимый текст JSON в аргументе 1 для функции json_extract: «Недопустимый escape-символ в строке».
{"UPLOAD_ID":"Jh24ACh59sJ6mSSpQKXORJVscmy2iD3Dy1B0115L01hbI","POLICY":"signed","FILE_NAME":"VIDEO 10s.mp4","FILE_MIME_TYPE":"video/mp4","READY":false}
Я скопировал json из prod в staging, и запрос тоже сработал.
Кто-нибудь знает, есть ли что-то, что я должен сделать, чтобы эта функция Json_extract работала в prod??
Заранее спасибо!
Комментарии:
1. можем ли мы увидеть текст с этим недопустимым escape-символом?
2. Хорошо, я редактирую и помещаю json и ключ в запрос
3. Кажется, проблемы не существует .
4. Вероятно, это связано с обратной косой чертой в
"video/mp4"
5. Проверьте, что такое escape-символ на рабочем сервере? Показанный литерал JSON действителен сам по себе: dbfiddle.uk /…