我目前正在使用 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
设置世界.国家/地区
至于为什么我试图将我的 UPDATE
查询拆分为 block ,是因为它试图更新一个有 3M+ 行的表,并且在自己执行查询时遇到困难
最佳答案
请明确指定
似乎是指使用此格式:
Multiple tables operations; explicit declaration of splitting table:
split (schema_name.table_name: statement operating on multiple tables)
statement;
https://shlomi-noach.github.io/common_schema/query_script_split.html
另请参阅explicit declaration .
关于mysql - split() 不适用于 mySQL join?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51237394/