Mysql
 sql >> база данни >  >> RDS >> Mysql

Mysql 5.7.20:Не може да се създаде JSON стойност от низ с CHARACTER SET 'binary'

Мога да възпроизведа грешката ви, ако моят набор от символи за сесия е 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'.

След това мога да го поправя, като задам набора от символи на сесията да съответства на таблицата:

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)

Така че заключавам, че сте задали набора от символи на сесията на binary .

Изпълнете show session variables like 'char%'; и вижте какво ви казва.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Периодична повреда на JDBC счупена тръба и връзка

  2. Изпълнение Множество вмъквания или множество стойности единично вмъкване

  3. Грешка в синтаксиса на readyStatement

  4. Датата не се записва в Mysql от Php регистрационна форма

  5. Как да получите достъп до MySQL от отдалечен компютър (не localhost)?