Foros del Web » Programando para Internet » PHP »

Problema PHPMyAdmin

Estas en el tema de Problema PHPMyAdmin en el foro de PHP en Foros del Web. Hola, resulta que estoy creando una BD sencilla, pero phpmyadmin no me realiza las foreign keys, os pongo el script (ya que lo hago importando ...
  #1 (permalink)  
Antiguo 12/04/2011, 06:09
 
Fecha de Ingreso: junio-2009
Mensajes: 16
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Problema PHPMyAdmin

Hola, resulta que estoy creando una BD sencilla, pero phpmyadmin no me realiza las foreign keys, os pongo el script (ya que lo hago importando un .sql)

Código:
CREATE TABLE carrito (
	id_carrito INT NOT NULL AUTO_INCREMENT,
	nomb varchar(100),
	descripcion varchar(200),
	PRIMARY KEY(id_carrito)
);

CREATE TABLE equipo (
	id_equipo INT NOT NULL AUTO_INCREMENT,
	descripcion varchar(200),
	id_carrito INT NOT NULL,
	PRIMARY KEY(id_equipo),
	FOREIGN KEY(id_carrito) REFERENCES carrito(id_carrito) ON DELETE CASCADE ON UPDATE CASCADE
);

El problema es que yo por ejemplo añado un equipo y coloco el id del carrito, por ejemplo a 1 y me lo crea sin darme el error de integridad referencial que debería mostrarme.

Según PhpMyAdmin InnoDB está activo. Aún así si pongo al final de la creación de la tabla ENGINE = INNODB o TYPE = INNODB, falla la sintaxis.

Gracias

Perdón si no es el lugar, no sabía si colocarlo en MySQL o en PHP
  #2 (permalink)  
Antiguo 12/04/2011, 06:32
 
Fecha de Ingreso: junio-2009
Mensajes: 16
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema PHPMyAdmin

Solucionado, para el que tenga el mismo problema, tiene que poner a la hora de crear todas las tablas que el motor es InnoDB, yo sólo lo ponía en la que tenía FOREIGN KEY, así que quedaría así:

Código:
CREATE TABLE carrito (
	id_carrito INT NOT NULL AUTO_INCREMENT,
	nomb varchar(100),
	descripcion varchar(200),
	PRIMARY KEY(id_carrito)
) ENGINE=InnoDB;

CREATE TABLE equipo (
	id_equipo INT NOT NULL AUTO_INCREMENT,
	descripcion varchar(200),
	id_carrito INT NOT NULL,
	PRIMARY KEY(id_equipo),
	FOREIGN KEY(id_carrito) REFERENCES carrito(id_carrito) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

Etiquetas: phpmyadmin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:09.