Você tem um erro de sintaxe em sua instrução:
INSERT INTO `statuses`
(SELECT 'Something', 'Something else', 123
WHERE NOT EXISTS (SELECT * FROM `statuses`)
) union all
(SELECT 'Something', 'Something else', 234
WHERE NOT EXISTS (SELECT * FROM `statuses`)
);
Você precisa repetir o
where
duas vezes neste caso, uma vez para cada subconsulta. Você também pode fazer:INSERT INTO `statuses`
select t.*
from ((SELECT 'Something' as col1, 'Something else' as col2, 123 as col3
) union all
(SELECT 'Something', 'Something else', 234
)
) t
WHERE NOT EXISTS (SELECT * FROM `statuses`);
Nesta versão, você precisa atribuir nomes às colunas.
Ou você pode usar apenas duas instruções de inserção separadas.