2013-03-11 2 views

ответ

1

Попробуйте

delimiter '//' 

CREATE PROCEDURE addcol() BEGIN 

IF NOT EXISTS(
    SELECT * FROM information_schema.COLUMNS 
    WHERE COLUMN_NAME='refer_id' AND TABLE_NAME='orders' 
    ) 
    THEN 
     alter table orders add refer_id int(11) default 0 
END IF; 
END; 
// 

delimiter ';' 

CALL addcol(); 

DROP PROCEDURE addcol; 
+0

Пожалуйста, [цитировать свои источники] (http://forums.codewalkers.com/database-help-83/alter-table-structure-conditional-adding-colu MNS-если-они-Dont-уже-856291.html # post200392). – nneonneo

1

Зачем использовать, если здесь?

попробовать это

ALTER TABLE orders ADD refer_id int(11) default 0 AFTER name; 
0

Это не построил его, но она может быть выполнена с использованием базы данных information_schema

see here

Смежные вопросы