2015-07-10 3 views
-1

Здравствуйте у меня есть это, но он показывает ошибкиAlter таблица для добавлений столбцов и ограничений

ERROR 1064 (42000) at line 61: 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 '(
    ADD COLUMN `CIUDAD_ID` int(11) NOT NULL AUTO_INCREMENT, 
    ADD COLUMN `DEPART' at line 1 

заявление является следующим:

ALTER TABLE `ciudad` 
    (
    ADD COLUMN `CIUDAD_ID` int(11) NOT NULL AUTO_INCREMENT, 
    ADD COLUMN `DEPARTAMENTO_ID` int(11) NOT NULL, 
    ADD COLUMN `REGION_ID` int(11) NOT NULL, 
    ADD COLUMN `CODIGO` char(50) DEFAULT NULL, 
    ADD COLUMN `DESCRIPCION` char(100) DEFAULT NULL, 
    PRIMARY KEY (`CIUDAD_ID`), 
    KEY `FK_DEPARTAMENTO_CIUDAD` (`DEPARTAMENTO_ID`), 
    KEY `FK_REGION_CIUDAD` (`REGION_ID`), 
    CONSTRAINT `FK_DEPARTAMENTO_CIUDAD` FOREIGN KEY (`DEPARTAMENTO_ID`) 
    REFERENCES `departamento` (`DEPARTAMENTO_ID`), 
    CONSTRAINT `FK_REGION_CIUDAD` FOREIGN KEY (`REGION_ID`) 
    REFERENCES `region` (`REGION_ID`) 
    ) 
ENGINE=InnoDB AUTO_INCREMENT=9056 DEFAULT CHARSET=utf8; 
+0

Вы действительно меняли таблицу и не создавали ее? Это много столбцов для добавления в таблицу. Кроме того, если вы на самом деле пытаетесь изменить таблицу, я не думаю, что вы можете добавить столбцы «не нуль», не предоставляя значения по умолчанию, если таблица уже существует ... может быть ... – Kritner

+0

Да им изменяет –

ответ

0
ALTER TABLE `ciudad` 
ADD COLUMN `CIUDAD_ID` int(11) NOT NULL AUTO_INCREMENT, 
ADD COLUMN `DEPARTAMENTO_ID` int(11) NOT NULL, 
ADD COLUMN `REGION_ID` int(11) NOT NULL, 
ADD COLUMN `CODIGO` char(50) DEFAULT NULL, 
ADD COLUMN `DESCRIPCION` char(100) DEFAULT NULL, 
ADD PRIMARY KEY (`CIUDAD_ID`), 
ADD KEY `FK_DEPARTAMENTO_CIUDAD` (`DEPARTAMENTO_ID`), 
ADD KEY `FK_REGION_CIUDAD` (`REGION_ID`), 
ADD CONSTRAINT `FK_DEPARTAMENTO_CIUDAD` FOREIGN KEY (`DEPARTAMENTO_ID`) 
REFERENCES `departamento` (`DEPARTAMENTO_ID`), 
ADD CONSTRAINT `FK_REGION_CIUDAD` FOREIGN KEY (`REGION_ID`) 
REFERENCES `region` (`REGION_ID`), 
ENGINE=InnoDB AUTO_INCREMENT=9056 DEFAULT CHARSET=utf8; 
+0

сейчас я имеют эту ошибку: неправильное определение таблицы; может быть только один автоматический столбец, и он должен быть определен как ключ –

0

Вам не нужны круглые скобки, окружающие команды столбцов в операторе ALTER.

Попробуйте это:

ALTER TABLE ciudad 
ADD COLUMN CIUDAD_ID int(11) NOT NULL AUTO_INCREMENT, 
ADD COLUMN DEPARTAMENTO_ID int(11) NOT NULL, 
ADD COLUMN REGION_ID int(11) NOT NULL, 
ADD COLUMN CODIGO char(50) DEFAULT NULL, 
ADD COLUMN DESCRIPCION char(100) DEFAULT NULL, 
PRIMARY KEY (CIUDAD_ID), 
KEY FK_DEPARTAMENTO_CIUDAD (DEPARTAMENTO_ID), 
KEY FK_REGION_CIUDAD (REGION_ID), 
CONSTRAINT FK_DEPARTAMENTO_CIUDAD FOREIGN KEY (DEPARTAMENTO_ID) 
REFERENCES departamento (DEPARTAMENTO_ID), 
CONSTRAINT FK_REGION_CIUDAD FOREIGN KEY (REGION_ID) 
REFERENCES region (REGION_ID), 
ENGINE=InnoDB AUTO_INCREMENT=9056 DEFAULT CHARSET=utf8; 
0

спасибо я ве сделал это

ALTER TABLE `ciudad` 
    ADD COLUMN `CIUDAD_ID` int(11) NOT NULL, 
    ADD COLUMN `DEPARTAMENTO_ID` int(11) NOT NULL, 
    ADD COLUMN `REGION_ID` int(11) NOT NULL, 
    ADD COLUMN `CODIGO` char(50) DEFAULT NULL, 
    ADD COLUMN `DESCRIPCION` char(100) DEFAULT NULL, 
    ADD KEY (`CIUDAD_ID`), 
    ADD KEY `FK_DEPARTAMENTO_CIUDAD` (`DEPARTAMENTO_ID`), 
    ADD KEY `FK_REGION_CIUDAD` (`REGION_ID`), 
    ADD CONSTRAINT `FK_DEPARTAMENTO_CIUDAD` FOREIGN KEY (`DEPARTAMENTO_ID`) 
    REFERENCES `departamento` (`DEPARTAMENTO_ID`), 
    ADD CONSTRAINT `FK_REGION_CIUDAD` FOREIGN KEY (`REGION_ID`) 
    REFERENCES `region` (`REGION_ID`), 
    ENGINE=InnoDB DEFAULT CHARSET=utf8; 

whitouth первичный ключ, потому что я один.

Смежные вопросы