SQLLite's
UPDATE
statement is quite limited - it doesn't support joining to other tables, for example.
SQL As Understood By SQLite | UPDATE[
^]
As a result, there's no ambiguity as to which table the updated column belongs to, so it doesn't support prefixing the column names in the
SET
list with the table name.
The correct query is:
UPDATE
Main.Genres
SET
Genre = (SELECT Genre from config.Genres WHERE Main.Genres.Id = config.Genres.Id)
(NB: Just using
Genre
as the column name in the
SET
list, rather than
Main.Genres.Genre
.)