0
\u
をjsonフィールドで\\u
でエスケープする方法mysqlの uで uを\ uに置き換えてください
場合、今コラムを読んだ後、JSONパーサーは、私が\\u
で\u
を交換するときに解決されたエラーを与えるが、
update table_name set column_name=REPLACE(column_name, '\u', '\\u');
でフィールドを更新私にエラーを与えることである
ERROR 3140 (22032): Invalid JSON text: "Invalid escape character in string." at position 564 in value for column 'table_name.column_name'.
また、構文で\
をエスケープしようとしましたが、役に立たなくなりました。誰でも助けてもらえますか? SQL更新テーブル値について
つの質問:1.あなたは、これはあなたが解決しようとしているものは何でも、問題解決するために何をする必要があるかありますか? 2.あなたは本当に解決しようとしている問題は何ですか?どのように無効な列にデータを取得しましたか? JSON関数を使用せずにJSON列を操作するべきではなく、JSON列のデータを直接操作する必要はありません。 –
これは、新しいテーブルのjsonカラムに移行したレールでActiverecordシリアライザを使用してシリアル化された古いデータですが、このJSONをRubyで解析するとエラーが発生します。 JSONで手動で\ uを\\ uに変更して問題が解決したことを確認しました – akabhirav