Mysql:Eseguire una query solo se è verificata una condizione

← Torna a MySQL

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;

fonte: https://stackoverflow.com/questions/2480148/how-can-i-employ-if-exists-for-creating-or-dropping-an-index-in-mysql