2015-10-15 6 views
0

Я пытаюсь добавить столбец к table.To сделать так, что я пытаюсьНевозможно добавить столбец в таблицу в MySQL

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 query.I новичок в базе данных есть что-то не так с моим альтер запроса таблицы.

+2

Вы пытались «ALTER TABLE» добавить COLUMN parent_id int (11); 'поскольку модификация работает для существующего столбца, а не нового. –

ответ

1

В соответствии с вашей таблицей definion 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 '', 
Смежные вопросы