drupal db api

Не могу выполнить запрос удаления с LIMIT

Раздел форума: 

Не могу выполнить этот код

$query = db_query_range(' DELETE FROM {my_table} WHERE some_col LIKE :t', 0, $limit, array(':t'=>'%удалить строки содержащие эту фразу%'))->execute();

Выдает PDO exception
Запрос получается вида

DELETE FROM my_table

Работа с БД в Drupal 7 - урок 11 - Запросы слияния (MERGE)

admin друпал drupal

Запросы слияния это специальный гибридный тип запросов. Хотя синтаксис для этих запросов был определен в SQL 2003, фактически нет БД поддерживающих этот синтаксис. Однако большинство БД предоставляют альтернативную реализацию использования специфического синтаксиса. Конструктор запросов слияния в Drupal абстрагирует концепцию слияния запроса в структуре объекта, так что объект может быть скомпилирован для каждой БД по разному с учетом ее специфики.

Работа с БД в Drupal 7 - урок 10 - Запросы удаления (DELETE)

Запросы удаления

Запросы удаления должны использовать конструктор запросов. Они начинаются с функции db_delete():

<?php
$query = db_delete('node', $options);
?>

Это запрос на удаление будет удалять записи из таблицы node. Заметьте что не нужно оборачивать имя таблицы в фигурные скобки, конструктор запросов делает это сам. Запросы на удаление используют Fluent API, то есть все методы (кроме execute()) возвращают объект-запрос на себе (все как у запросов на обновление и вставку).

Работа с БД в Drupal 7 - урок 9 - Запросы обновления (UPDATE)

Запросы обновления (UPDATE)

Запросы обновления должны всегда использовать конструктор запросов. Различные БД имееют специфические обработчики для LOB (Large OBject, такие как TEXT в MySQL) и поля BLOB (Binary Large OBject), так что уровень абстракции требуется для индивидуальных драйверов для реализации специфических обработчиков.

Запросы обновления должны начинаться с функции db_update():

Работа с БД в Drupal 7 - урок 8 - Запросы вставки (INSERT INTO)

Запросы вставки (INSERT INTO)

 

Запросы вставки всегда должны использовать конструктор запросов. Некоторые БД требуют специальных обработчиков для LOB (Large OBject, такие как текст в MySQL) и BLOB (Binary Large OBject) полей, так что уровень абстракции необходим для индивидуальных драйверов БД для реализации подобных обработчиков.

Запросы вставки начинаются с использования функции db_insert():

Работа с БД в Drupal 7 - урок 7 - Обработка результатов запроса (fetch)

Работа с БД в Drupal 7

Запрос выборки всегда будет возвращать результат обработки запроса как 0 или больше записей. Есть несколько путей обработать данные результата запроса, которые вы можете использовать по своему усмотрению.

Наиболее часто результаты используются в виде цикла foreach().

Работа с БД в Drupal 7 - урок 4 - Динамические запросы (SELECT)

admin друпал drupal

Пожалуй мы подобрались к самой интересной части Database API друпала: динамические запросы. Динамические запросы называются так, потому что Друпал динамически дописывает строку запроса. Все запросы вставки, обновления, удаления или слияния могут быть динамическими. Запросы выборки могут быть как динамическими, так и статическими. Тем не менее, используйте динамические запросы и для запросов выборки.

Подписка на RSS - drupal db api