-
MySQL. Как сохранить порядок выборки при условии IN()?
Рассмотрим короткий пример, как сохранить порядок выборки MySQL при запросе с условием IN. Итак, допустим мы имеем запрос: SELECT * from users WHERE id IN(2, 5, 7, 3, 15, 4); MySQL, вероятнее всего вернёт выборку в отсортированном по полю id виде или же в каком-то третьем, зависимо от настроек. Чтобы результаты были именно в порядке […]
-
PhpMyAdmin. Ошибка Incorrect format parameter при импорте
Встретив ошибку «Incorrect format parameter» при импорте в phpMyAdmin сходу тяжело понять, что именно не так и в чём беда. Но решение очень простое, хоть и не очевидное. На самом деле решение проблемы кроется в изменении трех параметров в Вашем php.ini где найти php.ini). Итак, увеличьте максимальный размер загружаемого файла: upload_max_filesize=128M post_max_size=128M Увеличьте, при необходимости, […]
-
MySQL: Ошибка Got a packet bigger than «max_allowed_packet» bytes
Ошибка Got a packet bigger than «max_allowed_packet» bytes может возникнуть при попытке загрузить большой дамп. Варианты решения ниже в статье. Итак, предлагаю два варианта решения: 1) Исправить параметр в конфиге MySQL. Находим и открываем файл конфигурации MySQL (unix-системах он, вероятно находится тут: etc/my.cnf) После этого в нём исправляем параметр: max_allowed_packet = 999M Сохраняем файл, перегружаем […]
-
Решаем ошибку Lock wait timeout exceeded; try restarting transaction.
В этой статье приведу короткий и самый быстрый вариант решения ошибки «Lock wait timeout exceeded; try restarting transaction». Конечно, если ошибка у Вас в системе — нужно искать и решать корень проблемы — например, незакрытые транзакции. Я же приведу алгоритм быстро, в моменте, решения. Итак, если Вы выполняете запросы, не заходя на сервер MySql — […]
-
Yii2. Как сделать deleteAll с условием NOT IN?
Удаление записей в Yii2 при помощи метода deleteAll и условии not in выглядит не очень очевидным и столкнувшись с этой задачей, решил написать короткую заметку с примером реализации. Секрет в том, что условие надо задавать в виде массива. Приведу пример: SomeModel::deleteAll([ ‘AND’, ‘post_id’ => $id, [‘not in’, ‘id’, $arrayOfIds], ]); Этот пример сгенерирует следующий запрос […]
-
Ubuntu. Ка к установитьMySQL Workbench с консоли?
В сегодняшней сатье речь пойдет о том, как установить MySQL Workbench в ubuntu с коммандной строки. Итак, все предельно просто — утилита есть в стандартных репозиториях, поэтому действия более чем очевидны: sudo apt update; sudo apt install mysql-workbench; Процесс установки может оказаться достаточно продолжительным, впрочем ошибок возникнуть не должно. После установки программа будет доступна в […]
-
PDO. Как вернуть данные в формате ключ-значение (key-value)?
Работа с данными в формате ключ-значение — другими словами с ассоциативными массивами очень удобна. Сейчас приведу просто пример как заставить PDO вернуть записи БД сразу в формате ключ-значение. Это полезно, когда Вам нужно получить, например id и название записи. При этом формат по умолчанию, мягко говоря не удобен при необходимости обращения по id. Сравните два […]
-
Mysql. РЕШЕНО. Table storage engine for
doesn’t have this option on order by query.
При выполнении, например, импорта дампа MySQL можно столкнуться с неприятной ошибкой — Table storage engine for doesn’t have this option on order by query. О том, как её решить речь пойдет в этой статье. Возможной причиной появления ошибки является переключение для созданной таблицы её типа с MyISAM на InnoDB. Но, так или иначе — проблему […]
Php. Как создать дамп MySQL в одну строку кода?
Создание регулярных бекапов — залог Вашего спокойного сна. Сегодня я покажу, как сделать бекап базы данных всего в одну строку php-кода. Будем использовать php-функцию shell, а также утилиту mysqldump. Код будет иметь примерно следующий вид: exec(‘mysqldump —user=someuser —password=somepass —host=somehost DB_NAME > /path/to/some/file.sql’); Конечно же, значение имени, пароля, хоста и имени Базы Данных нужно изменить на […]
Php. PDO. Как вернуть парный проиндексированный результат?
PDO кроет множество полезных и интересных особенностей, способных существенно облегчить жизнь во множестве типичных задач. Например, есть возможность вернуть парный, проиндексированный результат выборки. К примеру, мы имеем следующие данные: +————-+——+ | date | price| +————-+——+ | 2014-02-19 | 34 | | 2014-02-20 | 30 | | 2014-02-21 | 28 | +————-+——+ Для того, чтобы получить […]