Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mysql 5.7.20:Tidak dapat membuat nilai JSON dari string dengan 'biner' CHARACTER SET

Saya dapat mereproduksi kesalahan Anda jika set karakter sesi saya adalah binary :

mysql [localhost] {msandbox} (test) > set names binary;
Query OK, 0 rows affected (0.00 sec)

mysql [localhost] {msandbox} (test) > insert into tracking_data (route, data, user_id) values ('route', '{"route": "value"}', 1);
ERROR 3144 (22032): Cannot create a JSON value from a string with CHARACTER SET 'binary'.

Kemudian saya dapat memperbaikinya dengan mengatur set karakter sesi agar sesuai dengan tabel:

mysql [localhost] {msandbox} (test) > set names utf8mb4;
Query OK, 0 rows affected (0.00 sec)

mysql [localhost] {msandbox} (test) > insert into tracking_data (route, data, user_id) values ('route', '{"route": "value"}', 1);
Query OK, 1 row affected (0.01 sec)

Jadi saya menyimpulkan bahwa Anda telah mengatur set karakter sesi ke binary .

Jalankan show session variables like 'char%'; dan lihat apa yang dikatakannya kepada Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Waktu default datetime MySQL dengan interval

  2. menulis ulang koneksi dan kueri dari mysql ke PDO

  3. Python3.4 tidak dapat menginstal mysql-python

  4. Bagaimana saya bisa membuat indeks pada substring kolom?

  5. Cara Mengatur Replikasi Asinkron dari Galera Cluster ke server MySQL Standalone dengan GTID