Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diegus Miestro

Integrity constraint violation: 1452 Cannot add or update a child row

Recommended Posts

Olá Pessoas, estou com um problema e estou perdido. Estou criando um website com alguns funções para colégio e criei a base de dados usando modelagem no Mysql Workbench, até ai tudo Ok, mas estava fazendo um componente de slides e quando tento adicionar um novo item ao slide dá o erro:

Error: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`piaCMS`.`PWCMS_slides_itens`, CONSTRAINT `fk_PWCMS_slides_itens_PWCMS_slides1` FOREIGN KEY (`slide_id`) REFERENCES `PWCMS_slides` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
SQL Query: INSERT INTO `piaCMS`.`PWCMS_slides_itens` (`link`, `habilitado`) VALUES ('#', '1')

SQL Scritp dos envolvidos:

-- -----------------------------------------------------
-- Table `{prefix}_slides`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `{prefix}_slides` ;


CREATE TABLE IF NOT EXISTS `{prefix}_slides` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `nome` VARCHAR(45) NOT NULL,
  `alias` VARCHAR(45) NOT NULL,
  `habilitado` TINYINT(1) NULL DEFAULT 1,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `nome_UNIQUE` (`nome` ASC),
  UNIQUE INDEX `alias_UNIQUE` (`alias` ASC))
ENGINE = InnoDB;




-- -----------------------------------------------------
-- Table `{prefix}_slides_itens`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `{prefix}_slides_itens` ;


CREATE TABLE IF NOT EXISTS `{prefix}_slides_itens` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `slide_id` INT NOT NULL,
  `img` VARCHAR(45) NOT NULL,
  `alt` TINYTEXT NULL,
  `link` VARCHAR(45) NULL DEFAULT '#',
  `ordem` TINYINT NULL,
  `inicia` DATE NOT NULL,
  `expira` DATE NULL,
  `habilitado` TINYINT(1) NULL DEFAULT 1,
  PRIMARY KEY (`id`),
  INDEX `fk_{prefix}_slides_itens_{prefix}_slides1_idx` (`slide_id` ASC),
  CONSTRAINT `fk_{prefix}_slides_itens_{prefix}_slides1`
    FOREIGN KEY (`slide_id`)
    REFERENCES `{prefix}_slides` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

Valores a serem passados:

array(
    'Adicionar_Slide' => array(
        'slide_id' => '1',
        'link' => 'https://www.youtube.com/watch?v=SBjQ9tuuTJQ',
        'alt' => 'Descrição Whatever',
        'inicia' => '2014-11-28',
        'expira' => '2014-05-29',
        'img' => 'slide002-3.png'
    )
)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, encontrei meu erro. Não estava no SQL e sim no Framework, estava passando um valor errado e com isso se perdia os valores que seriam salvos no Banco de Dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.