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?