Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/03/2013, 10:43
quilmes_05
 
Fecha de Ingreso: octubre-2010
Mensajes: 219
Antigüedad: 14 años, 2 meses
Puntos: 2
Pregunta Respuesta: integridad referencial

gracias por la respuesta muy clara,pasa que yo estoy en workbench y cuando pongo una foranea no cumple con la integridad,osea agrego un empleo con unempleado con no existe y me lo deja,que puede ser,mira te dejo el escript que me genera:

este ejemplo no es el de persona empleo seria las tablas a y b cada una con su clave ide y b una foranea ide_a_fk

Código MySQL:
Ver original
  1. SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
  2.  
  3. SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
  4.  
  5. SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
  6.  
  7.  
  8.  
  9. DROP SCHEMA IF EXISTS `base2` ;
  10.  
  11. CREATE SCHEMA IF NOT EXISTS `base2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
  12.  
  13. USE `base2` ;
  14.  
  15.  
  16.  
  17. -- -----------------------------------------------------
  18.  
  19. -- Table `base2`.`a`
  20.  
  21. -- -----------------------------------------------------
  22.  
  23. DROP TABLE IF EXISTS `base2`.`a` ;
  24.  
  25.  
  26.  
  27. CREATE  TABLE IF NOT EXISTS `base2`.`a` (
  28.  
  29.   `ide` INT NOT NULL ,
  30.  
  31.   PRIMARY KEY (`ide`) )
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38. -- -----------------------------------------------------
  39.  
  40. -- Table `base2`.`b`
  41.  
  42. -- -----------------------------------------------------
  43.  
  44. DROP TABLE IF EXISTS `base2`.`b` ;
  45.  
  46.  
  47.  
  48. CREATE  TABLE IF NOT EXISTS `base2`.`b` (
  49.  
  50.   `ide` INT NOT NULL ,
  51.  
  52.   `ide_a_fk` INT NULL ,
  53.  
  54.   PRIMARY KEY (`ide`) ,
  55.  
  56.   INDEX `ide_a_fk_idx` (`ide_a_fk` ASC) ,
  57.  
  58.   CONSTRAINT `ide_a_fk`
  59.  
  60.     FOREIGN KEY (`ide_a_fk` )
  61.  
  62.     REFERENCES `base2`.`a` (`ide` )
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69. USE `base2` ;
  70.  
  71.  
  72.  
  73.  
  74.  
  75. SET SQL_MODE=@OLD_SQL_MODE;
  76.  
  77. SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
  78.  
  79. SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;