无法将列添加到mysql中的表

时间:2015-10-15 13:42:38

标签: mysql database alter

我正在尝试向表中添加一列。为此我正在尝试

ALTER TABLE requirements Modify COLUMN parent_id int(11);

但是当我尝试执行此查询时,mysql没有长时间响应。所以每次我都要杀死查询。

我使用

创建了表格
CREATE TABLE requirements (requirement_id smallint(6) NOT NULL AUTO_INCREMENT,
    product_id smallint(6) NOT NULL, 
    name varchar(255) CHARACTERSET latin1 NOT NULL DEFAULT '', 
    PRIMARY KEY (requirement_id), 
    UNIQUE KEY requirement_product_id_name_idx (product_id,name), 
    UNIQUE KEY requirement_product_idx (requirement_id,product_id), 
    KEY requirement_name_idx_v2 (name) )
    ENGINE=InnoDB
    AUTO_INCREMENT=7365
    DEFAULT CHARSET=utf8;

请帮助我知道为什么我无法执行Alter表查询。我是数据库的新手,我的alter table查询有问题。

1 个答案:

答案 0 :(得分:1)

根据您的表格定义,parent_id似乎是您要添加的新列,因此您的查询应该是添加不修改的列。

试试这个:

alter table requirements add column parent_id int(11);

<强> SQL FIDDLE DEMO

旁注:

CHARACTERSET此处

之间需要有空格
name varchar(255) CHARACTERSET latin1 NOT NULL DEFAULT '', 

应该是

name varchar(255) CHARACTER SET latin1 NOT NULL DEFAULT '',