我正在尝试向表中添加一列。为此我正在尝试
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查询有问题。
答案 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 '',