JSON
JSON в MySQL і MariaDB не сумісні!
❗Тип JSON у MySQL зберігає об’єкт JSON у компактній формі, а не як LONGTEXT, як у MariaDB. Це означає, що реплікація на основі рядків не працюватиме для типів JSON із MySQL у MariaDB.
У MySQL JSON є об’єктом і порівнюється відповідно до значень json. У MariaDB рядки JSON є звичайними рядками та порівнюються як рядки. Одним винятком є використання JSON_EXTRACT(), у цьому випадку рядки не екрануються перед порівнянням.
Є кілька способів перемістити таблицю в MariaDB:
З версії MariaDB 10.5.7 ви можете використовувати плагін mysql_json. Див. Зробити MariaDB розумінням MySQL JSON.
Змініть стовпець JSON на тип TEXT у MySQL. Після цього MariaDB може безпосередньо використовувати таблицю без необхідності створювати дамп і відновлювати.
Використовуйте mysqldump, щоб скопіювати таблицю.
Конструкція
перетворюється (MariaDB) у таку:
Python
❗ Якщо не перетворити об’єкт у json-рядок в поле типу JSON БД потрапить NULL
В базу:
separators
(роздільники) мають бути кортежем (item_separator, key_separator)
. За замовчуванням: (',', ': ')
, якщо відступ indent не None
. Щоб отримати найбільш компактне представлення JSON, необхідно вказати (',', ':')
- без пробілів.
З бази:
Last updated