mysql ALTER TABLE si la colonne n'existe pas

J'ai ce code:

ALTER TABLE `settings`
ADD COLUMN `multi_user` TINYINT(1) NOT NULL DEFAULT 1

Et je veux modifier ce tableau que si cette colonne n'existent pas.

Je suis en train de beaucoup de façons, mais rien ne fonctionne:

ALTER TABLE `settings`
ADD COLUMN IF NOT EXISTS `multi_user` TINYINT(1) NOT NULL DEFAULT 1

À la procédure:

DELIMITER $$
CREATE PROCEDURE Alter_Table()
BEGIN
    DECLARE _count INT;
    SET _count = (  SELECT COUNT(*) 
                    FROM INFORMATION_SCHEMA.COLUMNS
                    WHERE   TABLE_NAME = 'settings' AND 
                            COLUMN_NAME = 'multi_user');
    IF _count = 0 THEN
        ALTER TABLE `settings` ADD COLUMN `multi_user` TINYINT(1) NOT NULL DEFAULT 1
    END IF;
END $$
DELIMITER ; 

Je suis d'erreur en FIN de compte SI, ensuite, à la FIN et puis dans 1

Comment puis-je rendre ce processus aussi simple que possible?

double possible de MySQL ajouter une colonne s'il n'existe pas
double possible de MySQL: Comment faire pour ajouter une colonne si elle n'existe pas déjà?
J'ai essayé cette réponse! j'ai eu des erreurs

OriginalL'auteur BrunoRamalho | 2014-07-04