更改表以添加列和约束

时间:2015-07-10 15:32:46

标签: mysql key constraints alter-table

你好我有这个,但它显示错误

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;

3 个答案:

答案 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;

答案 1 :(得分: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;

答案 2 :(得分: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;

使用主键,因为我有一个。