如何在mysql表中不存在添加字段

时间:2013-03-11 12:02:14

标签: mysql

表订单

customers_id | name
1 | jimmy

我想在表顺序中添加字段'refer_id'(如果它不存在)

customers_id | name | refer_id
1 | jimmy | 0

条件如何写?

alter table orders add refer_id int(11) default 0 if ...  

3 个答案:

答案 0 :(得分:1)

为什么在这里使用?

试试这个

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

答案 1 :(得分: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;

答案 2 :(得分:0)

它不是构建它,但可以使用information_schema数据库

来完成

see here