Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-11-2009
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 435
Poder: 19
JoAnCa Va por buen camino
Cool Sigo con mis dudas y problemas en MySQL

Hola a todos
Necesito me aclaren si se puede hacer, y de ser así como puedo poner mas de una llave extranjera con la misma tabla (para la integridad referencial y actualizacion en cascada). Con access lo hacia sin problemas, pero ahora no me deja enlazar mas de una tabla, pues me da:
Error number 1005, que no puede crear la tabla (errno: 121)

Me explico mejor:
Tengo una Tabla Indicadores, que su llave primaria es llave extranjera en otras 5 tablas
Cuando le pongo la llave a la 1ra tabla no hay problemas, pero cuando se la voy a poner a una 2da tabla, me salta el error

Elimino la llave de esa 1ra tabla y pongo primero aquella 2da que me dio el error, y funciona bien

La cuestion es que solo puedo hacerlo en una sola tabla, parece que me falta algo o no se que
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes
Responder Con Cita
  #2  
Antiguo 02-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Para ir al Grano(como dicen los mejicanos), deberias pegar tu script(código SQL) de como estas creando tus Tablas, para que podamos verlo.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 02-12-2009
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 435
Poder: 19
JoAnCa Va por buen camino
Pues es asi como creo todas las tablas, el problema es cuando trato de enlazar mas de una tabla con la tabla "Indicadores"

Código SQL [-]
--
-- Create schema cmi
--

CREATE DATABASE IF NOT EXISTS cmi;
USE cmi;

--
-- Definition of table `acciones`
--

DROP TABLE IF EXISTS `acciones`;
CREATE TABLE `acciones` (
  `IdAcciones` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Accion` varchar(255) DEFAULT NULL,
  `Causa` varchar(128) DEFAULT NULL,
  `FechaCump` datetime DEFAULT NULL,
  `EstadoCump` varchar(25) DEFAULT NULL,
  `FechaVerif` datetime DEFAULT NULL,
  `Verifica` varchar(25) DEFAULT NULL,
  `CODIND` varchar(5) DEFAULT NULL,
  PRIMARY KEY (`IdAcciones`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `acciones`
--

/*!40000 ALTER TABLE `acciones` DISABLE KEYS */;
/*!40000 ALTER TABLE `acciones` ENABLE KEYS */;


--
-- Definition of table `areas`
--

DROP TABLE IF EXISTS `areas`;
CREATE TABLE `areas` (
  `CodArea` varchar(10) NOT NULL,
  `CodEntidad` varchar(10) DEFAULT NULL,
  `NombreArea` varchar(50) DEFAULT NULL,
  `Director` varchar(50) DEFAULT NULL,
  `CorreoE` varchar(50) DEFAULT NULL,
  `Mision` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`CodArea`),
  KEY `DecripEmp` (`NombreArea`),
  KEY `EntidadesAreas` (`CodEntidad`),
  CONSTRAINT `CodEntidad` FOREIGN KEY (`CodEntidad`) REFERENCES `entidades` (`CodEntidad`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `areas`
--

/*!40000 ALTER TABLE `areas` DISABLE KEYS */;
/*!40000 ALTER TABLE `areas` ENABLE KEYS */;


--
-- Definition of table `criterios`
--

DROP TABLE IF EXISTS `criterios`;
CREATE TABLE `criterios` (
  `IdCriterio` int(10) NOT NULL AUTO_INCREMENT,
  `CodInd` varchar(5) DEFAULT NULL,
  `Criterio` varchar(50) DEFAULT NULL,
  `Desde` double(7,2) DEFAULT NULL,
  `Hasta` double(7,2) DEFAULT NULL,
  `Color` int(10) DEFAULT NULL,
  PRIMARY KEY (`IdCriterio`),
  KEY `IdCriterio` (`IdCriterio`),
  KEY `IndicadoresCriterios` (`CodInd`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `criterios`
--

/*!40000 ALTER TABLE `criterios` DISABLE KEYS */;
/*!40000 ALTER TABLE `criterios` ENABLE KEYS */;


--
-- Definition of table `entidades`
--

DROP TABLE IF EXISTS `entidades`;
CREATE TABLE `entidades` (
  `CodEntidad` varchar(10) NOT NULL,
  `NombreEntidad` varchar(50) DEFAULT NULL,
  `Organismo` varchar(50) DEFAULT NULL,
  `Mision` varchar(255) DEFAULT NULL,
  `Vision` varchar(255) DEFAULT NULL,
  `Director` varchar(45) NOT NULL,
  `CorreoE` varchar(45) NOT NULL,
  PRIMARY KEY (`CodEntidad`),
  KEY `DecripEmp` (`NombreEntidad`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `entidades`
--

/*!40000 ALTER TABLE `entidades` DISABLE KEYS */;
/*!40000 ALTER TABLE `entidades` ENABLE KEYS */;


--
-- Definition of table `evaluacion`
--

DROP TABLE IF EXISTS `evaluacion`;
CREATE TABLE `evaluacion` (
  `IdEval` int(10) NOT NULL AUTO_INCREMENT,
  `IdCriterio` int(10) DEFAULT NULL,
  `Mayor` double(7,2) DEFAULT NULL,
  `Igual` double(7,2) DEFAULT NULL,
  `Menor` double(7,2) DEFAULT NULL,
  PRIMARY KEY (`IdEval`),
  KEY `IdEval` (`IdEval`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `evaluacion`
--

/*!40000 ALTER TABLE `evaluacion` DISABLE KEYS */;
/*!40000 ALTER TABLE `evaluacion` ENABLE KEYS */;


--
-- Definition of table `indicadores`
--

DROP TABLE IF EXISTS `indicadores`;
CREATE TABLE `indicadores` (
  `CodInd` varchar(5) NOT NULL,
  `CodObjOp` varchar(6) DEFAULT NULL,
  `Descripcion` varchar(255) DEFAULT NULL,
  `Variable` varchar(50) DEFAULT NULL,
  `Proposito` varchar(250) DEFAULT NULL,
  `Formula` varchar(50) DEFAULT NULL,
  `OrigenInf` varchar(50) DEFAULT NULL,
  `Frecuencia` varchar(50) DEFAULT NULL,
  `Perspectiva` varchar(50) DEFAULT NULL,
  `Observaciones` varchar(50) DEFAULT NULL,
  `CMICentral` enum('Si','No') DEFAULT NULL,
  `EsCoef` enum('Si','No') DEFAULT NULL,
  PRIMARY KEY (`CodInd`),
  UNIQUE KEY `Id_Ind` (`CodInd`),
  KEY `ObjetOperativosIndicadores` (`CodObjOp`),
  CONSTRAINT `CodObjOp` FOREIGN KEY (`CodObjOp`) REFERENCES `objetoperativos` (`CodObjOp`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED;

--
-- Dumping data for table `indicadores`
--

/*!40000 ALTER TABLE `indicadores` DISABLE KEYS */;
/*!40000 ALTER TABLE `indicadores` ENABLE KEYS */;


--
-- Definition of table `iniciativasest`
--

DROP TABLE IF EXISTS `iniciativasest`;
CREATE TABLE `iniciativasest` (
  `IdIniciativas` int(10) NOT NULL AUTO_INCREMENT,
  `Iniciativa` varchar(255) DEFAULT NULL,
  `FechaInicio` datetime DEFAULT NULL,
  `FechaFin` datetime DEFAULT NULL,
  `EstadoCump` varchar(25) DEFAULT NULL,
  `CODIND` varchar(5) DEFAULT NULL,
  PRIMARY KEY (`IdIniciativas`),
  KEY `IdAcciones` (`IdIniciativas`),
  KEY `IndicadoresIniciativasEst` (`CODIND`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `iniciativasest`
--

/*!40000 ALTER TABLE `iniciativasest` DISABLE KEYS */;
/*!40000 ALTER TABLE `iniciativasest` ENABLE KEYS */;


--
-- Definition of table `objetestrategicos`
--

DROP TABLE IF EXISTS `objetestrategicos`;
CREATE TABLE `objetestrategicos` (
  `CodObjEst` varchar(6) NOT NULL,
  `CodArea` varchar(10) DEFAULT NULL,
  `Descripcion` longtext,
  `Desde` int(10) DEFAULT NULL,
  `Hasta` int(10) DEFAULT NULL,
  PRIMARY KEY (`CodObjEst`),
  KEY `AreasObjetEstrategicos` (`CodArea`),
  CONSTRAINT `CodArea` FOREIGN KEY (`CodArea`) REFERENCES `areas` (`CodArea`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `objetestrategicos`
--

/*!40000 ALTER TABLE `objetestrategicos` DISABLE KEYS */;
/*!40000 ALTER TABLE `objetestrategicos` ENABLE KEYS */;


--
-- Definition of table `objetoperativos`
--

DROP TABLE IF EXISTS `objetoperativos`;
CREATE TABLE `objetoperativos` (
  `CodObjOp` varchar(6) NOT NULL,
  `CodObjEst` varchar(6) DEFAULT NULL,
  `Descripcion` longtext,
  `Anno` int(10) DEFAULT NULL,
  `EsGlobal` enum('Si','No') DEFAULT NULL,
  `Responsable` varchar(50) NOT NULL,
  PRIMARY KEY (`CodObjOp`),
  KEY `ObjetEstrategicosObjetOperativos` (`CodObjEst`),
  CONSTRAINT `CodObjEst` FOREIGN KEY (`CodObjEst`) REFERENCES `objetestrategicos` (`CodObjEst`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED;

--
-- Dumping data for table `objetoperativos`
--

/*!40000 ALTER TABLE `objetoperativos` DISABLE KEYS */;
/*!40000 ALTER TABLE `objetoperativos` ENABLE KEYS */;


--
-- Definition of table `plananual`
--

DROP TABLE IF EXISTS `plananual`;
CREATE TABLE `plananual` (
  `IdPlan` int(10) NOT NULL AUTO_INCREMENT,
  `CodInd` varchar(5) DEFAULT NULL,
  `Plan` double(7,2) DEFAULT NULL,
  `Anno` int(10) DEFAULT NULL,
  PRIMARY KEY (`IdPlan`),
  KEY `IndicadoresPlanAnual` (`CodInd`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `plananual`
--

/*!40000 ALTER TABLE `plananual` DISABLE KEYS */;
/*!40000 ALTER TABLE `plananual` ENABLE KEYS */;


--
-- Definition of table `recursos`
--

DROP TABLE IF EXISTS `recursos`;
CREATE TABLE `recursos` (
  `IdRecurso` int(10) NOT NULL AUTO_INCREMENT,
  `Descripcion` varchar(128) DEFAULT NULL,
  `UM` varchar(16) DEFAULT NULL,
  `Cant` int(10) DEFAULT NULL,
  `Precio` decimal(19,4) DEFAULT NULL,
  `IdAcciones` int(10) unsigned NOT NULL,
  PRIMARY KEY (`IdRecurso`),
  KEY `IdRecursos` (`IdRecurso`),
  KEY `IdAcciones` (`IdAcciones`),
  CONSTRAINT `IdAcciones` FOREIGN KEY (`IdAcciones`) REFERENCES `acciones` (`IdAcciones`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `recursos`
--

/*!40000 ALTER TABLE `recursos` DISABLE KEYS */;
/*!40000 ALTER TABLE `recursos` ENABLE KEYS */;


--
-- Definition of table `responsables`
--

DROP TABLE IF EXISTS `responsables`;
(null);


--
-- Definition of table `submayor`
--

DROP TABLE IF EXISTS `submayor`;
CREATE TABLE `submayor` (
  `IdSubMayor` int(10) NOT NULL AUTO_INCREMENT,
  `CodInd` varchar(5) DEFAULT NULL,
  `PlanMes` double(7,2) DEFAULT NULL,
  `RealMes` double(7,2) DEFAULT NULL,
  `PlanAcum` double(7,2) DEFAULT NULL,
  `RealAcum` double(7,2) DEFAULT NULL,
  `Mes` tinyint(3) unsigned DEFAULT NULL,
  `Anno` int(10) DEFAULT NULL,
  PRIMARY KEY (`IdSubMayor`),
  KEY `IdSubMayor` (`IdSubMayor`),
  KEY `IndicadoresSubmayor` (`CodInd`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `submayor`
--

/*!40000 ALTER TABLE `submayor` DISABLE KEYS */;
/*!40000 ALTER TABLE `submayor` ENABLE KEYS */;


--
-- Definition of table `valores`
--

DROP TABLE IF EXISTS `valores`;
CREATE TABLE `valores` (
  `IdValores` int(10) NOT NULL AUTO_INCREMENT,
  `Valores` varchar(128) DEFAULT NULL,
  `CODENTIDAD` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`IdValores`),
  KEY `EntidadesValores` (`CODENTIDAD`),
  KEY `IdValores` (`IdValores`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Dudas sobre la licencia de MySQL Ken_Masters MySQL 6 12-09-2007 09:15:14
Sigo con problemas con los indices Antuan Tablas planas 6 10-10-2005 20:52:11
QReport y Columnas...sigo con problemas BlueSteel Impresión 0 18-08-2005 18:19:17
Un par de dudas de Delhi y MySQL. Kamikaze MySQL 0 18-04-2005 11:55:37
dudas sobre Mysql ......? Arturo MySQL 6 30-09-2004 15:51:59


La franja horaria es GMT +2. Ahora son las 07:33:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi