MySQL: как добавить столбец, если он еще не существует?
Я хочу добавить столбец в таблицу, но я не хочу, чтобы он терпел неудачу, если он уже был добавлен в таблицу. Как я могу достичь этого?
# Add column fails if it already exists
ALTER TABLE `TableName` ADD `ColumnName` int(1) NOT NULL default '0';
Ответ 1
В хранимой процедуре используйте следующее:
IF NOT 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;