13

テーブルに列を追加したいのですが、すでにテーブルに追加されている場合は失敗したくありません。どうすればこれを達成できますか?

# Add column fails if it already exists 
ALTER TABLE `TableName` ADD `ColumnName` int(1) NOT NULL default '0';
4

1 に答える 1

18

ストアド プロシージャで次を使用します。

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;

参照:

于 2010-07-13T22:38:38.250 に答える