MySQL agregar columna si no existe

IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS
  WHERE TABLE_NAME = 'email_subscription' AND COLUMN_NAME = 'subscribe_all')
  THEN 
  ALTER TABLE email_subscription
  ADD COLUMN subscribe_all TINYINT(1) DEFAULT 1,
  ADD COLUMN subscribe_category varchar(512) DEFAULT NULL;

He echado un vistazo a gran cantidad de ejemplos. pero esta consulta no funciona, tengo error de:

ERROR 1064 (42000): Tiene un error en su sintaxis SQL; revise el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de 'SI NO EXISTE' (SELECCIONE * DE INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'en la línea 1

Respuestas a la pregunta(6)

Su respuesta a la pregunta