Mysql Не работает запрос в постере ?

  • Автор темы Автор темы svaminar
  • Дата начала Дата начала
Есть возможность сделать бекап БД нескольких строк - простых и с json?
Сделал бэкап таблицы. В таблице только одна колонка типа json. Как только изменяю тип на text запрос отрабатывает норм.
 

Вложения

  • product.rar
    product.rar
    509 байт · Скачивания: 4
в Mysql для строки нет типа данных - json, поэтому и ошибка при обращении.
Хранить данные в виде json - можно, но не правильно - сложно делать выборки по значению строк
 
в Mysql для строки нет типа данных - json, поэтому и ошибка при обращении.
ничего не понимаю ( В navicat ведь есть возможность выбрать тип данных json http://prntscr.com/mbn3bb и запрос к таблице выполняется http://prntscr.com/mbn7a7

Вот тут описывается тип столбца json https://dev.mysql.com/doc/refman/8.0/en/json.html

Вот результат выполнения запроса
Код:
Развернуть Свернуть Копировать
SET @jSON := '{"asin": 1, "parentasin": 1, "titleReviews": 1}';
SELECT JSON_EXTRACT(@jSON, '$.titleReviews');
который вообще ни к одной таблице не обращается: http://prntscr.com/mbon52

Этот же запрос делаю в зенке - имею ошибку. Так КАКОГО ... розового слоника?????
 
Последнее редактирование:
Сделал бэкап таблицы. В таблице только одна колонка типа json. Как только изменяю тип на text запрос отрабатывает норм.
Наша либа по работе с MySQL вываливает ошибку в запросе "Unknown data type" просто она не вкурсе что может быть json в полях
можно так писать:
Код:
Развернуть Свернуть Копировать
SET @jSON := '{"asin": 1, "parentasin": 1, "titleReviews": 1}'; SELECT CONVERT(JSON_EXTRACT(@jSON, '$.titleReviews'), CHAR CHARACTER SET utf8);

так работает
 
В логе же пишется ошибка ?
или нет?
Мда. В общем невнимательность и алкоголь виноваты. Наверное больше алкоголь. Прошерстил весь шаб и заметил что в операции insert одинарна и двойная кавычка в одном параметре. Исправил и всё заработало. Не советую, даже выпив банку пива, лезть в кодинг на зенку ;) Можно такого наворотить, что потом фиг поймёшь, особенно если шаб огромный...
 
Наша либа по работе с MySQL вываливает ошибку в запросе "Unknown data type" просто она не вкурсе что может быть json в полях
можно так писать:
Код:
Развернуть Свернуть Копировать
SET @jSON := '{"asin": 1, "parentasin": 1, "titleReviews": 1}'; SELECT CONVERT(JSON_EXTRACT(@jSON, '$.titleReviews'), CHAR CHARACTER SET utf8);

так работает
Спасибо, попробую. А в 5.27 версии подправили либу?
 
Решение пришло откуда не ждали))
@svaminar делайте все так как делали сначала (т.е. "Использовать параметры в запросе" не ставьте)
и Ваш запрос заработает если в строку подключения добавите allowuservariables=True
а как добавить ? не даёт выбрать список выпадает ... но результат не закрепляется за строкой. Удалить и добавить тоже не получается ( . Добавил новый параметр allowuservariables=True в таком виде - но не помогло .
75802
----
пытаюсь выполнить запрос с переменной и вернуть её
SQL:
Развернуть Свернуть Копировать
UPDATE `accounts` SET `status` = 'work' WHERE `accounts`.`id` = (@mio:=(SELECT id FROM accounts WHERE id =18 and `status` LIKE 'ready' ));
SELECT @mio;

Как вообще победить работу с переменным @:= в запросе MySqlClient
 
LOCK TABLES profiles WRITE;
INSERT INTO `profiles`(`dir_path`, `name`, `time`, `status`) VALUES ('{-Variable.var1-}','{-Variable.var2-}','{-Variable.time_now-}','lock');
SELECT * FROM `profiles` WHERE `name` = '{-Variable.var2-}';
UNLOCK TABLES;

Подскажет кто, почему в прожектмейкере работает, при запуске в зеннопостере не работает, просто не выполняется запрос. Вторые сутки голову ломаю, в логах ничего нет, настройки самого mysql разные перепробовал. Не в какую не хочет работать INSERT INTO
 
Последнее редактирование:

Кто просматривает тему: (Всего: 4, Пользователи: 0, Гости: 4)