Сделать колонку auto_increment и переместить - PullRequest
1 голос
/ 04 января 2011

Эй. В настоящее время я учусь использовать MySql и у меня есть пара вопросов.

1) Как мне обновить столбец (пустую таблицу), чтобы сделать его столбцом AUTO_INCREMENT? Я пытался

ALTER TABLE book UPDATE id AUTO_INCREMENT;

но я получаю ошибку синтаксиса SQL.

2) Если я добавлю новый столбец, как я могу изменить его положение в таблице? Например, если я добавлю новый столбец, он будет добавлен в конец. Что если я захочу перенести это в начало?

Спасибо

Ответы [ 4 ]

3 голосов
/ 04 января 2011

В соответствии с синтаксисом ALTER вы, вероятно, хотите использовать ключевое слово MODIFY (не ОБНОВЛЕНИЕ).

Кроме того, не уверен, что оно будет работать (в зависимости от определений столбцов), новот как вы это сделаете:

Попробуйте:

ALTER TABLE book
MODIFY id AUTO_INCREMENT;

Если вам не нужно сначала отбрасывать столбец, то добавьте его заново:

ALTER TABLE book
DROP COLUMN id;

ALTER TABLE book
ADD COLUMN id INT NOT NULL AUTO_INCREMENT FIRST; -- "FIRST": Add column to beginning

Вы также можете захотеть, чтобы он был ПЕРВИЧНЫМ КЛЮЧОМ, но я не знаю, какова структура вашей таблицы, поэтому просто предположение.

2 голосов
/ 23 марта 2011

Создайте уже существующий столбец AUTO_INCREMENT и ПЕРВИЧНЫЙ КЛЮЧ:

ALTER TABLE t1 MODIFY id int(11) AUTO_INCREMENT PRIMARY KEY
1 голос
/ 04 января 2011

Что касается заказа, вы можете использовать:

ALTER TABLE table_name ADD column VARCHAR(60) FIRST;

чтобы переместить его в начало.

0 голосов
/ 04 января 2011
  1. без отображения сообщения об ошибке, трудно сказать, в чем ошибка ... пожалуйста, опубликуйте ее.
  2. ALTER TABLE t1 ADD col3 VARCHAR(60) AFTER col1;
...