Методом удаления функций по одной была найдена причина. В проекте была функция с именем "delete". Именно ее наличие в скрипте вызывало сбой.
Как в SQL сделать сразу несколько запросов в одном действии
-
Щас глянуть не могу, что он возвращает в ответ, но можно писать ведь не 1, а номер потока к примеру, или рендом. И по этому числу искать запись. Проверю завтра.
-
@Bigma said in Как в SQL сделать сразу несколько запросов в одном действии:
Щас глянуть не могу, что он возвращает в ответ, но можно писать ведь не 1 а номер потока к примеру, или рендом. И по этому числу искать запись. Проверю завтра.
Да многое можно, а потом посмотреть на свой код и понять, что ты сделал функционал
SELECT FOR UPDATE.
P.S.
У меня была такая история. -
@Bigma said in Как в SQL сделать сразу несколько запросов в одном действии:
@sergerdn Как ты уже написал, она лочит всю таблицу, имей это ввиду.
Я же сам это написал, конечно я имею в виду. И так же добавил, что эта информация может быть устаревшая и надо ее проверять. Может у современных реализаций INNODB немного не так. Может лочится только одна запись в таблице на чтение. Чтобы другой поток не захватил ее.
Под капотом БД многое что делается, другое дело, что ты не знаешь об этом и "спишь спокойно". -
@Shogo, многострочный запрос и несколько запросов в одном, это не одно и тоже, модуль поддерживает многострочные запросы, но не поддерживает несколько запросов в одном, так как либо они не поддерживаются в конкретном диалекте или отключены по умолчанию. Например в MySQL и MariaDB, несколько запросов в одном отключены по умолчанию, а чтобы их включить нужно добавить
multipleStatements: trueв настройки диалекта.