Próbuję napisać zapytanie, które sprawdzi, czy dana tabela w MySQL ma określoną kolumnę, a jeśli nie - utwórz ją. W przeciwnym razie nic nie rób. Jest to naprawdę łatwa procedura w każdej bazie danych klasy korporacyjnej, ale MySQL wydaje się być wyjątkiem.
Pomyślałem o czymś takim
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='prefix_topic' AND column_name='topic_last_update')
BEGIN
ALTER TABLE `prefix_topic` ADD `topic_last_update` DATETIME NOT NULL;
UPDATE `prefix_topic` SET `topic_last_update` = `topic_date_add`;
END;
zadziała, ale bardzo zawodzi. Czy istnieje sposób?