-1

Hello i have this but it show error

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

the statement is the next:

  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;
Kritner
  • 13,557
  • 10
  • 46
  • 72
  • Are you sure you're altering a table and not creating one? That's a lot of columns to add to a table. Additionally, if you are in fact attempting to alter a table, I don't think you can add "not null" columns without providing a default value when the table already exists... maybe... – Kritner Jul 10 '15 at 15:39

3 Answers3

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

You don't need the parentheses surrounding the column commands on an ALTER statement.

Try this:

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;
kittykittybangbang
  • 2,380
  • 4
  • 16
  • 27
0

thank you i ve did it

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 a primary key cause i have one.