Mysql:Eseguire una query solo se è verificata una condizione
Articoli correlati
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` = 'aker_documents' and `index_name` = 'number' and `table_schema` = database()); SET @sqlstmt := IF( @exist > 0, 'ALTER TABLE aker_documents DROP INDEX `number`;', 'SELECT ''INFO: Indice non trovato.'''); PREPARE stmt FROM @sqlstmt; EXECUTE stmt;