MySql:Eseguire una query solo se è verificata una condizione
Esempio: Si vuole rimuovere un INDICE di una tabella, SOLO se questo è presente, di modo da non generare errori e interrompete un aggiornamento più corposo.
SET @exist := (SELECT COUNT(*) FROM information_schema.statistics WHERE `table_name` = 'documenti' and `index_name` = 'number' and `table_schema` = database()); SET @sqlstmt := IF( @exist > 0, 'ALTER TABLE documenti DROP INDEX `number`;', 'SELCET ''INFO: Indice non trovato.'''); PREPARE stmt FROM @sqlstmt; EXECUTE stmt;