Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2008, 09:28
oscarinho
 
Fecha de Ingreso: enero-2008
Mensajes: 61
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Duda con BBDD Mysql (Claves foraneas)

Tengo una duda. La tabla Realiza tiene 2 claves primarias y dos foraneas (una es la primaria de Técnico y otra la primaria de ensayo) lo que quiero es que al insertar un ensayo se relacione con el tecnico que le inserté mediante la tabla realiza, el problema es que probe a ejecutar la consulta de insercion de un campo en tecnico en ensayo y en realiza y me da un error con la clave foranea.


¿Alguien puede ayudarme?


-- Versión del servidor: 5.0.51
-- Versión de PHP: 5.2.5


SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--

-- Base de datos: `biofarma`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cliente`
--

CREATE TABLE IF NOT EXISTS `cliente` (
`Id_Cliente` int(11) NOT NULL auto_increment,
`Nombre_Cliente` varchar(40) NOT NULL,
`Direccion` varchar(100) default NULL,
`Telefono` varchar(15) default NULL,
`CIF` char(9) default NULL,
PRIMARY KEY (`Id_Cliente`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `cliente`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `compuesto`
--

CREATE TABLE IF NOT EXISTS `compuesto` (
`id_Compuesto` int(11) NOT NULL auto_increment,
`referencia` varchar(40) NOT NULL,
`tipo_compuesto` varchar(15) default NULL,
`composicion` varchar(100) default NULL,
`Estanteria` tinyint(4) NOT NULL,
`Fila` tinyint(4) NOT NULL,
`Columna` tinyint(4) NOT NULL,
PRIMARY KEY (`id_Compuesto`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `compuesto`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `ensayo`
--

CREATE TABLE IF NOT EXISTS `ensayo` (
`Id_ensayo` int(11) NOT NULL auto_increment,
`Nombre_ensayo` varchar(20) default NULL,
`Nuestra_Referencia` varchar(10) NOT NULL,
`Otros_referencia` varchar(10) default NULL,
`Numero_Folio` int(11) NOT NULL,
`Fecha_comienzo_ensayo` datetime default NULL,
`Fecha_final_ensayo` datetime default NULL,
`Observaciones` varchar(200) default NULL,
`Tipo_Ensayo` varchar(80) default NULL,
`Resultado` varchar(200) default NULL,
PRIMARY KEY (`Id_ensayo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;



Tablas exportadas de PhpMyAdmin:



--
-- Volcar la base de datos para la tabla `ensayo`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `ensayo_radioligando`
--

CREATE TABLE IF NOT EXISTS `ensayo_radioligando` (
`Kd` int(11) NOT NULL,
`concentracion` int(11) NOT NULL,
`tantoporciento` int(11) NOT NULL,
`IC50` int(11) NOT NULL,
`Ki` int(11) NOT NULL,
`Ki_Standard` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `ensayo_radioligando`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `estudioscitotoxicidad`
--

CREATE TABLE IF NOT EXISTS `estudioscitotoxicidad` (
`Tipo` varchar(30) default NULL,
`Horas` tinyint(4) default NULL,
`Metodos` varchar(80) default NULL,
`Resultado` varchar(100) default NULL,
`IC50` int(11) NOT NULL,
`TantoPorCienInhibicion` int(11) NOT NULL,
`concentracion` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `estudioscitotoxicidad`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `formado`
--

CREATE TABLE IF NOT EXISTS `formado` (
`Id_ensayo` int(11) NOT NULL default '0',
`Id_compuesto` int(11) NOT NULL default '0',
PRIMARY KEY (`Id_ensayo`,`Id_compuesto`),
KEY `Id_ensayo` (`Id_ensayo`),
KEY `Id_compuesto` (`Id_compuesto`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `formado`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `medidasegundosmensajeros`
--

CREATE TABLE IF NOT EXISTS `medidasegundosmensajeros` (
`concentracion` int(11) NOT NULL,
`tantoporciento` int(11) NOT NULL,
`EC50` int(11) NOT NULL,
`tantoporcienEmax` tinyint(4) default NULL,
`EC50standart` int(11) NOT NULL,
`TantoporcienEmaxStandart` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `medidasegundosmensajeros`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `realiza`
--

CREATE TABLE IF NOT EXISTS `realiza` (
`Codigo_Tecnico` int(11) NOT NULL default '0',
`Id_ensayo` int(11) NOT NULL default '0',
`Fecha_ensayo` datetime default NULL,
PRIMARY KEY (`Codigo_Tecnico`,`Id_ensayo`),
KEY `fk_tecnico` (`Codigo_Tecnico`),
KEY `fk_ensayo` (`Id_ensayo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `realiza`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tecnico`
--

CREATE TABLE IF NOT EXISTS `tecnico` (
`Codigo_tecnico` int(11) NOT NULL auto_increment,
`numero_tecnico` varchar(40) NOT NULL,
`nombre_tecnico` varchar(15) default NULL,
PRIMARY KEY (`Codigo_tecnico`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `tecnico`
--


-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tejidosaislados`
--

CREATE TABLE IF NOT EXISTS `tejidosaislados` (
`animal` varchar(70) default NULL,
`tejido` varchar(70) default NULL,
`concentracion` int(11) NOT NULL,
`tantoporciento` int(11) NOT NULL,
`EC50` int(11) NOT NULL,
`tantoporcienEmax` tinyint(4) default NULL,
`EC50standart` int(11) NOT NULL,
`TantoporcienEmaxStandart` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `tejidosaislados`
--


--
-- Filtros para las tablas descargadas (dump)
--

--
-- Filtros para la tabla `compuesto`
--
ALTER TABLE `compuesto`
ADD CONSTRAINT `compuesto_ibfk_1` FOREIGN KEY (`id_Compuesto`) REFERENCES `formado` (`Id_compuesto`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Filtros para la tabla `formado`
--
ALTER TABLE `formado`
ADD CONSTRAINT `formado_ibfk_1` FOREIGN KEY (`Id_ensayo`) REFERENCES `ensayo` (`Id_ensayo`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Filtros para la tabla `realiza`
--
ALTER TABLE `realiza`
ADD CONSTRAINT `realiza_ibfk_7` FOREIGN KEY (`Id_ensayo`) REFERENCES `ensayo` (`Id_ensayo`),
ADD CONSTRAINT `realiza_ibfk_6` FOREIGN KEY (`Codigo_Tecnico`) REFERENCES `tecnico` (`Codigo_tecnico`);

--
-- Filtros para la tabla `tecnico`
--
ALTER TABLE `tecnico`
ADD CONSTRAINT `tecnico_ibfk_1` FOREIGN KEY (`Codigo_tecnico`) REFERENCES `realiza` (`Codigo_Tecnico`);