Add Constraint FK, NO ENTIENDO LA SINTAXIS
Publicado por Mikywan (2 intervenciones) el 01/11/2007 18:08:00
Buenas soy nuevo en MySQL y estoy teniendo problemas al momento de añadir las claves externas (foreign keys) ya que no comprendo del todo la sintaxis. La versión que estoy usando es del Wamp5.
las tablas que estoy manejando son las siguientes:
ALU_ASIST
gpocod varchar(5) ascii_general_ci No
asgcod varchar(5) ascii_general_ci No
clanro smallint(6) No 0
aluci decimal(8,0) No 0
asistencia char(1) ascii_general_ci No
CLASE
gpocod varchar(5) ascii_general_ci No
asgcod varchar(5) ascii_general_ci No
nro smallint(6) No 0
fecha datetime No 0000-00-00 00:00:00
hora_i varchar(5) ascii_general_ci No
hora_f varchar(5) ascii_general_ci No
observaciones char(2) ascii_general_ci No
tipo char(1) ascii_general_ci Sí NULL
tema varchar(200) ascii_general_ci Sí NULL
salon char(3) ascii_general_ci Sí NULL
La consulta que escribí es esta:
consulta SQL:
ALTER TABLE alu_asist ADD CONSTRAINT fk_alu_asist_1(
gpocod,
asgcod,
clanro
) REFERENCES clase(
gpocod,
asgcod,
nro
) ON DELETE CASCADE
el error que me da es este:
MySQL ha dicho: Documentación
#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 '(gpocod, asgcod, clanro)
references clase
(gpocod, asgcod, nro)
on delete cas' at line 3
Por si no se entiende, mi idea es referenciar la clave primaria de ALU_ASIST (gpocod, asgcod, clanro) a la de CLASE (gpocod, asgcod, nro).
Les agradezco su ayuda, y si ven otro error del que me comentar no duden en hacerlo, soy bastante nuevo en el tema (base de datos en gral.) y me parece éste un medio de gran ayuda.
las tablas que estoy manejando son las siguientes:
ALU_ASIST
gpocod varchar(5) ascii_general_ci No
asgcod varchar(5) ascii_general_ci No
clanro smallint(6) No 0
aluci decimal(8,0) No 0
asistencia char(1) ascii_general_ci No
CLASE
gpocod varchar(5) ascii_general_ci No
asgcod varchar(5) ascii_general_ci No
nro smallint(6) No 0
fecha datetime No 0000-00-00 00:00:00
hora_i varchar(5) ascii_general_ci No
hora_f varchar(5) ascii_general_ci No
observaciones char(2) ascii_general_ci No
tipo char(1) ascii_general_ci Sí NULL
tema varchar(200) ascii_general_ci Sí NULL
salon char(3) ascii_general_ci Sí NULL
La consulta que escribí es esta:
consulta SQL:
ALTER TABLE alu_asist ADD CONSTRAINT fk_alu_asist_1(
gpocod,
asgcod,
clanro
) REFERENCES clase(
gpocod,
asgcod,
nro
) ON DELETE CASCADE
el error que me da es este:
MySQL ha dicho: Documentación
#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 '(gpocod, asgcod, clanro)
references clase
(gpocod, asgcod, nro)
on delete cas' at line 3
Por si no se entiende, mi idea es referenciar la clave primaria de ALU_ASIST (gpocod, asgcod, clanro) a la de CLASE (gpocod, asgcod, nro).
Les agradezco su ayuda, y si ven otro error del que me comentar no duden en hacerlo, soy bastante nuevo en el tema (base de datos en gral.) y me parece éste un medio de gran ayuda.
Valora esta pregunta


0