diff --git a/docs/reference/sql_queries.md b/docs/reference/sql_queries.md index e74f2d5b47b7bf1b62899941f3987482497eff93..a8d93a1ab292d93243d0eafeac0b94b73b95e013 100644 --- a/docs/reference/sql_queries.md +++ b/docs/reference/sql_queries.md @@ -868,8 +868,8 @@ on conflict do replace ; Ошибка вÑтавки может также быть вызвана ограничениÑми [неблокирующего SQL](#tuple_limit). ЕÑли речь идет о запроÑе на вÑтавку более одной Ñтроки, то Ð´Ð»Ñ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾Ð½ÑиÑтентного ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ»Ð°Ñтера Ñледует -повторить Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ опциÑми и ÑпоÑобом Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð¾Ð² `do -nothing`. +повторить Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ [опциÑми](#options) и ÑпоÑобом Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ +конфликтов `do nothing`. ## Ð—Ð°Ð¿Ñ€Ð¾Ñ UPDATE {: #query-update } Команда `UPDATE` иÑпользуетÑÑ Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… в колонках таблицы. @@ -938,13 +938,19 @@ pico.sql([[update "characters" set "name" = "item" from (select "id" as i, "name delete from "characters" ; ``` -Ð—Ð°Ð¿Ñ€Ð¾Ñ Ñ ÑƒÑловием позволÑет удалить только нужные Ñтроки: +Ð—Ð°Ð¿Ñ€Ð¾Ñ Ñ ÑƒÑловием позволÑет удалить только нужную Ñтроку: ```sql delete from "characters" where "id" = 1 ; ``` -Ð’ обоих ÑлучаÑÑ… в выводе в конÑоль будет указано количеÑтво удаленных +Или неÑколько Ñтрок: + +```sql +delete from "characters" where "id" in (1,2,3) ; +``` + +Ð’ вÑех ÑлучаÑÑ… в выводе в конÑоль будет указано количеÑтво удаленных Ñтрок. Ðапример: ```lua @@ -953,11 +959,13 @@ delete from "characters" where "id" = 1 ; ... ``` -Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ также быть вызвана ограничениÑми [неблокирующего -SQL](#tuple_limit). ЕÑли речь идет о запроÑе на удаление более одной -Ñтроки, то Ð´Ð»Ñ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾Ð½ÑиÑтентного ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ»Ð°Ñтера Ñледует -повторить Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ опциÑми и ÑпоÑобом Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð¾Ð² `do -nothing`. +При выполнении запроÑа на удаление неÑкольких Ñтрок может возникнуть +ошибка [неблокирующего SQL](#tuple_limit). ЕÑли Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° на роутере не может +вмеÑтить предварительный результат Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа (не хватает емкоÑти виртуальной таблицы +`vtable_max_rows`) и/или задейÑтвовано Ñлишком много операций Ñ ÐºÐ¾Ñ€Ñ‚ÐµÐ¶Ð°Ð¼Ð¸ на +узле Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ (`sql_vdbe_max_steps`), то запроc будет отработан лишь чаÑтично. Следует +увеличить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ñ… параметров в [опциÑÑ…]#options) запроÑа и +повторить его. ## Ð—Ð°Ð¿Ñ€Ð¾Ñ EXPLAIN {: #query-explain } Команда `EXPLAIN` добавлÑетÑÑ Ð¿ÐµÑ€ÐµÐ´ командами `SELECT` и `INSERT` длÑ