I want to add a column to a table, but I don't want it to fail if it has already been added to the table. How can I achieve this?
# Add column fails if it already exists 
ALTER TABLE `TableName` ADD `ColumnName` int(1) NOT NULL default '0';
I want to add a column to a table, but I don't want it to fail if it has already been added to the table. How can I achieve this?
# Add column fails if it already exists 
ALTER TABLE `TableName` ADD `ColumnName` int(1) NOT NULL default '0';
Use the following in a stored procedure:
IF EXISTS( SELECT NULL
            FROM INFORMATION_SCHEMA.COLUMNS
           WHERE table_name = 'tablename'
             AND table_schema = 'db_name'
             AND column_name != 'columnname')  THEN
  ALTER TABLE `TableName` ADD `ColumnName` int(1) NOT NULL default '0';
END IF;
Reference: