SQL

mysql view Смена владельца представления (DEFINER)

Forums:

Судя по всему надо определить то же самое представление заново, т.е. если было так:

CREATE DEFINER = "Bogus" VIEW JustCity AS SELECT city FROM us;

То можно переделать DEFINER-а (условный "владелец"), на:

ALTER DEFINER = 'root'@'localhost' VIEW JustCity 
   AS SELECT city FROM us;

Теперь у нас дефайнером стал 'root' подключающийся с 'localhost', а не "Bogus" как раньше.

Источник: https://forums.mysql.com/read.php?10,429...

mysql DELETE WHERE -- пример SQL запроса на удаление данных

Forums:

Удаляем записи из таблицы пользователей -- те, где статус не равен 10-ти:

DELETE  FROM site_user WHERE `status` <> 10;

Разношерстные вызовы в mysql

В объекте Model столкнулся с тем, что в одном sql-запросе применялось 2 разных способа "вписывания" переменных в тело запроса:

SELECT * FROM $tableName where id = :id

Прокомментируйте, пожалуйста, почему в одном случае мы используем переменную напрямую - $tableName, а в другом через функцию bindValue - :id;

Пример выше взят из функции getById из этого файла (строка 86): https://github.com/it-for-free/SimpleMVC...

yii2 Вложенные множественные модели (sql) на одной форме как с ними работать

Про mongodb мы уже говорили, теперь посмотрим какие варианты у нас есть для sql (напр. mysql)

Частично о множественных моделях на форме говорит и официальная документация, но это не совсем то, что нам надо.

Проблемы реализации:

Как именно формировать атрибут name во вложенном списке моделей (например список Фотографий в Альбоме) - с этим же тесно связана проблема возврата ошибки.

sql Многие ко многим -- JOIN, HAVING, COUNT (Пример для mysql)

Forums:

Задача была (из списка задач с собеседований):

У книги и авторы, одну книгу могут писать несколько авторов и, конечно же, один автор может написать много книг (это "многие ко многим", потому через 3 таблицы).
Напишите запрос, который выведет названия книг написанных ровно двумя авторами.

yii2 ActiveRecord findOne c условием LIKE -- пример кода

Проблему (добавления like условия в запрос) удалось решить, используя код, вида:

$command = static::find()->filterWhere(
  ['LIKE', 'verify_code', "$token"]
);
$User = $command->one();

sql GROUP BY -- Достать результаты суммирования, в виде ассоциативного массива -- пример запроса

Forums:

Задача

Есть таблица Sale с полями id, amount, shop_id.
Нам нужно достать сумму сумм(amount), отдельно по каждому магазину(shop_id).
Как сделать это в одном sql-запросе?

Запрос

SELECT SUM(amount) FROM `sale` 
    WHERE shop_id IN (1,2,3,4,5)
    GROUP BY shop_id;

В результате мы получим массив, в котором ключами будут shop_id, а значениями - результат функции SUM() всех amount из строк с соответствующим shop_id.

mysql Переименование таблицы -- пример SQL

Forums:

Можно так:

RENAME TABLE `user` TO `site_user`;

Создание SQL запроса средствами другого SQL запроса -- пример ;)

Forums:

Когда это нужно

Ситуация возникает, когда в какой-то локальной базе, например, в одной из табилиц у вас есть полезная информация, которую хотелось бы перенести в другую БД, но накатить дамп таблицы возможности нет (например, на эту таблицу на втором сервере ссылаются внешние ключи), поэтому придётся использовать UPDATE, который перенёс бы значение "за раз".
Именно такой запрос мы и сгенерировали в этом примере.

Pages

Subscribe to RSS - SQL