Mysql Alter глюк - PullRequest
       27

Mysql Alter глюк

0 голосов
/ 17 февраля 2012

Эй, ребята, я пытался изменить столбец таблицы, чтобы взять текущая отметка времени создания, ошибка, которую я получаю #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( 'inspection_number' NOT NULL default CURRENT_TIMESTAMP )' at line 1

Я пытался использовать

ALTER TABLE `reports`  (
  `inspection_number` DATE NOT NULL default CURRENT_DATE
);

Но я не вижу ошибки?

Ответы [ 4 ]

1 голос
/ 17 февраля 2012

Кажется, синтаксис неправильный. Используйте ниже:

при добавлении нового столбца inspection_number:

ALTER TABLE `reports`  ADD COLUMN `inspection_number` timestamp NOT NULL default CURRENT_TIMESTAMP

при изменении существующего столбца inspection_number:

ALTER TABLE `reports`  MODIFY COLUMN  `inspection_number` timestamp NOT NULL default CURRENT_TIMESTAMP

Пожалуйста, укажите тип данных столбца

0 голосов
/ 17 февраля 2012

Синтаксис, который у вас есть, используется при создании таблицы.Когда вы изменяете таблицу и хотите установить значение по умолчанию, используйте:

ALTER TABLE имя_таблицы MODIFY имя_колонки col_type NOT NULL DEFAULT CURRENT_TIMESTAMP;

0 голосов
/ 17 февраля 2012
ALTER TABLE `reports` 
MODIFY `inspection_number` TIMESTAMP NOT NULL default CURRENT_TIMESTAMP ;
0 голосов
/ 17 февраля 2012

Вам не хватает MODIFY

ALTER TABLE `reports`  (
  MODIFY `inspection_number` NOT NULL default CURRENT_TIMESTAMP
);
...