我是这个sql的新手,我想知道这个问题是什么。
“此处不允许使用约束规范” 原因:声明中不允许使用约束规范。
componentWillUpdate (nextProps) {
if (!nextProps.isFocused) {
// component is going out of focus, stop the music
this.stop()
}
}
答案 0 :(得分:0)
在最后一行代码中,您定义了列cod_ciudad
并添加了外键约束。
有两类约束:IN-LINE约束,在列名称和数据类型之后定义(它们只能影响“那个”列)和OUT-OF-LINE约束,它们位于表的底部,在所有列定义之后。涉及多个列的约束只能是外部约束。
您在代码中定义的约束仅在一列上,而且在cod_ciudad
上。你没有在列定义(名称和数据类型)之间添加逗号;这是IN-LINE约束的正确语法。但是IN-LINE外键约束不需要关键字FOREIGN KEY,并且它们不需要在括号中重复列名。约束是IN-LINE,只能引用“当前”列。因此:修复代码的一种方法是从代码中删除FOREIGN KEY (COD_CIUDAD)
。
另一种解决方法是将约束条件设置为OUT-OF-LINE约束。然后语法是正确的,但您必须在关键字CONSTRAINT
之前添加逗号(,)。
答案 1 :(得分:0)
试试这个:
CREATE TABLE CLIENTE(
RUT VARCHAR2(10) NOT NULL,
NOMBRE VARCHAR2(20) NOT NULL,
APELLIDOP VARCHAR2(30) NOT NULL,
APELLIDOM VARCHAR2(30) NOT NULL,
DIRECCION VARCHAR2(100) NOT NULL,
TELEFONO NUMBER(8) NOT NULL,
EMAIL VARCHAR2(255) NOT NULL,
FECHA_NACIMIENTO DATE NOT NULL,
SEXO CHAR(1) NOT NULL,
COD_CIUDAD NUMBER(3)
);
ALTER TABLE CLIENTE
ADD CONSTRAINT CLIENTE_PK PRIMARY KEY (RUT)
USING INDEX;
ALTER TABLE CLIENTE
ADD CONSTRAINT CLIENTE_CIUDAD_FK FOREIGN KEY (COD_CIUDAD)
REFERENCES [FOREIGN KEY TABLE NAME] ([PRIMARY KEY COLUMN OF FOREIGN KEY TABLE]);
答案 2 :(得分:0)
您必须从列声明
中分离约束只需使用以下命令
即可CREATE TABLE CLIENTE(
RUT VARCHAR2(10) CONSTRAINT CLIENTE_PK PRIMARY KEY,
NOMBRE VARCHAR2(20) CONSTRAINT NOMBRE_CLIENTE NOT NULL,
APELLIDOP VARCHAR2(30) CONSTRAINT APELLIDOP_CLIENTE NOT NULL,
APELLIDOM VARCHAR2(30) CONSTRAINT APPELIDOM_CLIENTE NOT NULL,
DIRECCION VARCHAR2(100) CONSTRAINT DIRECCION_CLIENTE NOT NULL,
TELEFONO NUMBER(8) CONSTRAINT TELEFONO_CLIENTE NOT NULL,
EMAIL VARCHAR2(255) CONSTRAINT EMAIL_CLIENTE NOT NULL,
FECHA_NACIMIENTO DATE CONSTRAINT
FECHA_NACIMIENTO_CLIENTE NOT NULL,
SEXO CHAR(1) CONSTRAINT SEXO_CLIENTE NOT NULL,
COD_CIUDAD NUMBER(3),
CONSTRAINT CLIENTE_CIUDAD_FK FOREIGN KEY (COD_CIUDAD)
REFERENCES CIUDAD (COD_CIUDAD)
);