В настоящее время я использую общий пакет схемы mySQL вместе с функцией split()
, но я изо всех сил пытаюсь заставить рабочий JOIN
запрос работать?
set @script := "
split({size:2000} :
UPDATE world
SET world.CountryName = (
SELECT country.nicename
FROM country
WHERE country.iso = world.Country
)
)
{
throttle 4;
SELECT $split_total_rowcount AS 'rows updated so far';
}
";
call common_schema.run(@script);
При выполнении этого запроса он производит следующее:
#1644 - QueryScript error: [split() cannot deduce split table name. Please specify explicitly] at 34: "UPDATE world
SET world.Country
Что касается того, почему я пытаюсь разбить мой запрос UPDATE
на куски, это потому, что он пытается обновить таблицу, которая получила 3M+ строки и борется, когда делает запрос на свой счет
Please specify explicitly
в использовании этого формата:
Операции с несколькими таблицами; явное объявление таблицы разбиения:
split (schema_name.table_name: statement operating on multiple tables)
statement;
https://shlomi-noach.github.io/common_schema/query_script_split.html
См. Также явное объявление.