Oi Fabricio!
Rodei o seu código e o erro não se repetiu no meu computador!
Isso pode acontecer quando a gente altera o nosso banco de dados mas ele ainda está salvo no dispositivo!
Imagina o seguinte seu banco de dados sequencial tem 3 espaços: nome, dificuldade, imagem.
Se por exemplo você adicionar um novo espaço: Nível, o banco de dados ficará confuso poois as informaçoes antigas não possuem nível!
Então qualquer alteração de parametros no banco de dados que você venha a fazer você deve deletar o banco antigo ou mudar o nome da tabela!
Faz um experimento, muda o nome do banco lá no seu database.db
final String path = join(await getDatabasesPath(), 'task.db');
para um novo nome:
final String path = join(await getDatabasesPath(), 'taskDOIS.db');
E verifica se ainda assim ele vai ter esse erro c:
No ultimo dos casos diria pra você conferir o código que me mandou pois nele não há nenhum erro de tabela!