Error 1452 mysql: Can not add or update a child row

1

I created the following tables and populate them in 2 (user and type);

CREATE:

CREATE TABLE utilizador(utilizador_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,username VARCHAR(100) NOT NULL, password VARCHAR(100) NOT NULL, morada VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL, numero_cc INT NOT NULL);
CREATE TABLE produtos(id_produto INT NOT NULL PRIMARY KEY AUTO_INCREMENT,nome VARCHAR(100) NOT NULL, genero CHAR(1) NOT NULL, preco INT NOT NULL,id_tipo INT);
CREATE TABLE tipo(id_tipo INT NOT NULL PRIMARY KEY AUTO_INCREMENT,designacao VARCHAR(100) NOT NULL);
CREATE TABLE cart_produtos(id_produtos INT NOT NULL PRIMARY KEY AUTO_INCREMENT,quantidade INT,valor INT,id_cart INT);
CREATE TABLE cart_utilizador(id_cart INT NOT NULL PRIMARY KEY AUTO_INCREMENT,id_utilizador INT);
CREATE TABLE cart(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,datas DATE NOT NULL);

ALTER TABLE cart_utilizador ADD CONSTRAINT id_utilizador_fk 
FOREIGN KEY (id_utilizador_fk) REFERENCES utilizador(utilizador_id);

ALTER TABLE cart_produtos ADD CONSTRAINT id_cart_fk 
FOREIGN KEY (id_cart) REFERENCES cart_utilizador(id_cart);

ALTER TABLE produtos ADD CONSTRAINT id_fk 
FOREIGN KEY (id_produto) REFERENCES cart_produtos(id_produtos);

ALTER TABLE cart_utilizador ADD CONSTRAINT id_cart_produtos_fk 
FOREIGN KEY (id_cart) REFERENCES cart_produtos(id_produtos);

ALTER TABLE produtos ADD CONSTRAINT id_tipo_fk 
FOREIGN KEY (id_tipo) REFERENCES tipo(id_tipo);

ALTER TABLE cart ADD CONSTRAINT id_cart_prime_fk 
FOREIGN KEY (id) REFERENCES cart_utilizador(id_cart);

POPULATE:

INSERT INTO utilizador(username,password,morada,email,numero_cc) VALUES("ricardinho","oscarpw","Rua dos Aliados","[email protected]",123349574);
INSERT INTO utilizador(username,password,morada,email,numero_cc) VALUES("blitzo","maidpw","Rua das Carrinhas","[email protected]",139845923);
INSERT INTO utilizador(username,password,morada,email,numero_cc) VALUES("ricstu","glamorpw","Rua dos Aliados","[email protected]",188957923);
INSERT INTO utilizador(username,password,morada,email,numero_cc) VALUES("jacintosr","jckoneilpw","Avenida das Ameijoas","[email protected]",123349574);
INSERT INTO tipo(designacao) VALUES("calca");

INSERT INTO tipo(designacao) VALUES("chapeu");

INSERT INTO tipo(designacao) VALUES("camisola");

When I populate the products table with this script:

INSERT INTO produtos(nome,genero,preco,id_tipo) VALUES("calca preta com riscas","M",18,1);

I get the error (Error Code: 1452. Can not add or update child row: a foreign key constraint fails ( loja . produtos , CONSTRAINT id_fk FOREIGN KEY ( id_produto ) REFERENCES cart_produtos (% with%)) )

How do I resolve this?

    
asked by anonymous 17.07.2017 / 02:32

1 answer

0

The problem is here:

ALTER TABLE produtos ADD CONSTRAINT id_fk 
FOREIGN KEY (id_produto) REFERENCES cart_produtos(id_produtos);

In order to create a product record, you need to use an existing product_id in cart_products.

    
17.07.2017 / 04:51