MySQL Forums
Forum List  »  Portuguese

ERRNO 150: Erro ao criar tabela com FK e Constraints
Posted by: Fernando Dias
Date: June 20, 2011 03:38PM

Alguém pode me dar uma ajuda?

Não estou conseguindo executar o seguinte script. Foi gerado no MySQL Workbench e me estranha o fato de dar erro.


SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

-- -----------------------------------------------------
-- Table `tbl_ModuloSeguranca`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl_ModuloSeguranca` ;

CREATE TABLE IF NOT EXISTS `tbl_ModuloSeguranca` (
`pk_ModuloSeguranca` INT NOT NULL AUTO_INCREMENT ,
`ds_NomeModuloSeguranca` VARCHAR(150) NOT NULL ,
PRIMARY KEY (`pk_ModuloSeguranca`) ,
UNIQUE INDEX `pk_ModuloSeguranca_UNIQUE` (`pk_ModuloSeguranca` ASC) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tbl_ProcessoSeguranca`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl_ProcessoSeguranca` ;

CREATE TABLE IF NOT EXISTS `tbl_ProcessoSeguranca` (
`pk_ProcessoSeguranca` INT NOT NULL AUTO_INCREMENT ,
`fk_ModuloSeguranca` INT NOT NULL ,
`ds_NomeProcessoSeguranca` VARCHAR(150) NOT NULL ,
PRIMARY KEY (`pk_ProcessoSeguranca`) ,
INDEX `fk_tbl_ModuloSeguranca1` (`fk_ModuloSeguranca` ASC) ,
UNIQUE INDEX `pk_ProcessoSeguranca_UNIQUE` (`pk_ProcessoSeguranca` ASC) ,
CONSTRAINT `fk_tbl_ModuloSeguranca1`
FOREIGN KEY (`fk_ModuloSeguranca` )
REFERENCES `tbl_ModuloSeguranca` (`pk_ModuloSeguranca` )
ON DELETE SET NULL
ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tbl_AcaoSeguranca`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl_AcaoSeguranca` ;

CREATE TABLE IF NOT EXISTS `tbl_AcaoSeguranca` (
`pk_AcaoSeguranca` INT NOT NULL AUTO_INCREMENT ,
`fk_ProcessoSeguranca` INT NOT NULL ,
`ds_NomeAcaoSeguranca` TEXT NOT NULL ,
`lk_UrlAcaoSeguranca` VARCHAR(100) NULL COMMENT 'URL a partir da Base-Url' ,
PRIMARY KEY (`pk_AcaoSeguranca`) ,
INDEX `fk_tbl_ProcessoSeguranca1` (`fk_ProcessoSeguranca` ASC) ,
UNIQUE INDEX `pk_AcaoSeguranca_UNIQUE` (`pk_AcaoSeguranca` ASC) ,
CONSTRAINT `fk_tbl_ProcessoSeguranca1`
FOREIGN KEY (`fk_ProcessoSeguranca` )
REFERENCES `tbl_ProcessoSeguranca` (`pk_ProcessoSeguranca` )
ON DELETE SET NULL
ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tbl_FormularioSeguranca`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl_FormularioSeguranca` ;

CREATE TABLE IF NOT EXISTS `tbl_FormularioSeguranca` (
`pk_FormularioSeguranca` INT NOT NULL AUTO_INCREMENT ,
`fk_AcaoSeguranca` INT NOT NULL ,
`ds_NomeFormularioSeguranca` VARCHAR(150) NOT NULL ,
PRIMARY KEY (`pk_FormularioSeguranca`) ,
INDEX `fk_tbl_AcaoSeguranca1` (`fk_AcaoSeguranca` ASC) ,
UNIQUE INDEX `pk_FormularioSeguranca_UNIQUE` (`pk_FormularioSeguranca` ASC) ,
CONSTRAINT `fk_tbl_AcaoSeguranca1`
FOREIGN KEY (`fk_AcaoSeguranca` )
REFERENCES `tbl_AcaoSeguranca` (`pk_AcaoSeguranca` )
ON DELETE SET NULL
ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tbl_PerfilSeguranca`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl_PerfilSeguranca` ;

CREATE TABLE IF NOT EXISTS `tbl_PerfilSeguranca` (
`pk_PerfilSeguranca` INT NOT NULL AUTO_INCREMENT ,
`ds_NomePerfilSeguranca` VARCHAR(150) NOT NULL ,
`id_AtivoPerfilSeguranca` SMALLINT NOT NULL DEFAULT 1 ,
PRIMARY KEY (`pk_PerfilSeguranca`) ,
UNIQUE INDEX `pk_PerfilSeguranca_UNIQUE` (`pk_PerfilSeguranca` ASC) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tbl_PermissaoSeguranca`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl_PermissaoSeguranca` ;

CREATE TABLE IF NOT EXISTS `tbl_PermissaoSeguranca` (
`pk_PermissaoSeguranca` INT NOT NULL AUTO_INCREMENT ,
`fk_FormularioSeguranca` INT NOT NULL ,
`fk_PerfilSeguranca` INT NOT NULL ,
`cd_NivelPermissaoSeguranca` INT NOT NULL ,
PRIMARY KEY (`pk_PermissaoSeguranca`) ,
INDEX `fk_tbl_FormularioSeguranca1` (`fk_FormularioSeguranca` ASC) ,
INDEX `fk_tbl_PerfilSeguranca2` (`fk_PerfilSeguranca` ASC) ,
UNIQUE INDEX `pk_PermissaoSeguranca_UNIQUE` (`pk_PermissaoSeguranca` ASC) ,
CONSTRAINT `fk_tbl_FormularioSeguranca1`
FOREIGN KEY (`fk_FormularioSeguranca` )
REFERENCES `tbl_FormularioSeguranca` (`pk_FormularioSeguranca` )
ON DELETE SET NULL
ON UPDATE CASCADE,
CONSTRAINT `fk_tbl_PerfilSeguranca2`
FOREIGN KEY (`fk_PerfilSeguranca` )
REFERENCES `tbl_PerfilSeguranca` (`pk_PerfilSeguranca` )
ON DELETE SET NULL
ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tbl_UsuarioSeguranca`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl_UsuarioSeguranca` ;

CREATE TABLE IF NOT EXISTS `tbl_UsuarioSeguranca` (
`pk_UsuarioSeguranca` INT NOT NULL AUTO_INCREMENT ,
`nm_NomeUsuarioSeguranca` VARCHAR(250) NOT NULL ,
`nm_LoginUsuarioSeguranca` VARCHAR(50) NOT NULL ,
`pw_SenhaUsuarioSeguranca` VARCHAR(250) NOT NULL ,
`lk_EmailUsuarioSeguranca` VARCHAR(150) NOT NULL ,
`dt_UltimoAcessoUsuarioSeguranca` DATETIME NOT NULL ,
`cd_SituacaoUsuarioSeguranca` SMALLINT NOT NULL ,
PRIMARY KEY (`pk_UsuarioSeguranca`) ,
UNIQUE INDEX `pk_UsuarioSeguranca_UNIQUE` (`pk_UsuarioSeguranca` ASC) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tbl_EquipeSeguranca`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl_EquipeSeguranca` ;

CREATE TABLE IF NOT EXISTS `tbl_EquipeSeguranca` (
`pk_EquipeSeguranca` INT NOT NULL ,
`nm_EquipeSeguranca` VARCHAR(150) NOT NULL ,
`lk_EmailEquipeSeguranca` VARCHAR(100) NOT NULL ,
`fk_ResponsavelEquipeSeguranca` VARCHAR(50) NULL ,
PRIMARY KEY (`pk_EquipeSeguranca`) ,
UNIQUE INDEX `pk_EquipeSeguranca_UNIQUE` (`pk_EquipeSeguranca` ASC) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tbl_UsuarioEquipeSeguranca`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl_UsuarioEquipeSeguranca` ;

CREATE TABLE IF NOT EXISTS `tbl_UsuarioEquipeSeguranca` (
`pk_UsuarioEquipeSeguranca` INT NOT NULL AUTO_INCREMENT ,
`tbl_UsuarioSeguranca_pk_UsuarioSeguranca` INT NOT NULL ,
`tbl_EquipeSeguranca_pk_EquipeSeguranca` INT NOT NULL ,
PRIMARY KEY (`pk_UsuarioEquipeSeguranca`) ,
INDEX `fk_tbl_UsuarioSeguranca2` (`tbl_UsuarioSeguranca_pk_UsuarioSeguranca` ASC) ,
INDEX `fk_tbl_EquipeSeguranca1` (`tbl_EquipeSeguranca_pk_EquipeSeguranca` ASC) ,
UNIQUE INDEX `pk_UsuarioEquipeSeguranca_UNIQUE` (`pk_UsuarioEquipeSeguranca` ASC) ,
CONSTRAINT `fk_tbl_UsuarioSeguranca2`
FOREIGN KEY (`tbl_UsuarioSeguranca_pk_UsuarioSeguranca` )
REFERENCES `tbl_UsuarioSeguranca` (`pk_UsuarioSeguranca` )
ON DELETE SET NULL
ON UPDATE CASCADE,
CONSTRAINT `fk_tbl_EquipeSeguranca1`
FOREIGN KEY (`tbl_EquipeSeguranca_pk_EquipeSeguranca` )
REFERENCES `tbl_EquipeSeguranca` (`pk_EquipeSeguranca` )
ON DELETE SET NULL
ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `tbl_PerfilUsuarioSeguranca`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `tbl_PerfilUsuarioSeguranca` ;

CREATE TABLE IF NOT EXISTS `tbl_PerfilUsuarioSeguranca` (
`pk_PerfilUsuarioSeguranca` INT NOT NULL AUTO_INCREMENT ,
`tbl_PerfilSeguranca_pk_PerfilSeguranca` INT NOT NULL ,
`tbl_UsuarioSeguranca_pk_UsuarioSeguranca` INT NOT NULL ,
PRIMARY KEY (`pk_PerfilUsuarioSeguranca`) ,
INDEX `fk_tbl_PerfilSeguranca1` (`tbl_PerfilSeguranca_pk_PerfilSeguranca` ASC) ,
INDEX `fk_tbl_UsuarioSeguranca1` (`tbl_UsuarioSeguranca_pk_UsuarioSeguranca` ASC) ,
UNIQUE INDEX `pk_PerfilUsuarioSeguranca_UNIQUE` (`pk_PerfilUsuarioSeguranca` ASC) ,
CONSTRAINT `fk_tbl_PerfilSeguranca1`
FOREIGN KEY (`tbl_PerfilSeguranca_pk_PerfilSeguranca` )
REFERENCES `tbl_PerfilSeguranca` (`pk_PerfilSeguranca` )
ON DELETE SET NULL
ON UPDATE CASCADE,
CONSTRAINT `fk_tbl_UsuarioSeguranca1`
FOREIGN KEY (`tbl_UsuarioSeguranca_pk_UsuarioSeguranca` )
REFERENCES `tbl_UsuarioSeguranca` (`pk_UsuarioSeguranca` )
ON DELETE SET NULL
ON UPDATE CASCADE)
ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Options: ReplyQuote


Subject
Views
Written By
Posted
ERRNO 150: Erro ao criar tabela com FK e Constraints
5205
June 20, 2011 03:38PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.