Alguém me ajuda nesse exercício de SQL que está dando erro por favor?!
TABELAS:
CREATE TABLE TIPO (
CODIGO integer unsigned not null auto_increment,
TIPO varchar(32) not null,
PRIMARY KEY(CODIGO)
);
DROP TABLE INSTRUTOR;
CREATE TABLE INSTRUTOR (
CODIGO integer unsigned not null auto_increment,
INSTRUTOR varchar(64) not null,
TELEFONE varchar(10) null,
PRIMARY KEY(CODIGO)
);
ALTER TABLE INSTRUTOR ADD EMAIL VARCHAR(100);
ALTER TABLE INSTRUTOR DROP EMAIL;
CREATE TABLE CURSO (
CODIGO integer unsigned not null auto_increment,
CURSO varchar(64) not null,
TIPO integer unsigned not null,
INSTRUTOR integer unsigned not null,
VALOR double not null,
PRIMARY KEY(CODIGO),
INDEX FK_TIPO(TIPO),
INDEX FK_INSTRUTOR(INSTRUTOR),
FOREIGN KEY(TIPO) REFERENCES TIPO(CODIGO),
FOREIGN KEY(INSTRUTOR) REFERENCES INSTRUTOR(CODIGO)
);
ALTER TABLE CURSO ADD INDEX INDEX_INSTRUTOR(INSTRUTOR);
INSERIR DADOS:
USE SOFTBLUE;
/* TIPO */
INSERT INTO TIPO (CODIGO, TIPO) VALUES (1, 'Banco de dados');
INSERT INTO TIPO (CODIGO, TIPO) VALUES (2,'Programação');
INSERT INTO TIPO (TIPO) VALUES ('Modelagem de dados');
DELETE FROM TIPO WHERE CODIGO = 2;
SELECT * FROM TIPO;
/* INSTRUTOR */
INSERT INTO INSTRUTOR (CODIGO, INSTRUTOR, TELEFONE) VALUES (1, 'André Milani', '1111-1111');
INSERT INTO INSTRUTOR (CODIGO, INSTRUTOR, TELEFONE) VALUES (2, 'Carlos Tosin', '1212-1212');
DELETE FROM INSTRUTOR WHERE CODIGO = 1;
SELECT * FROM INSTRUTOR;
/* CURSO */
INSERT INTO CURSO (CODIGO, CURSO, TIPO, INSTRUTOR, VALOR) VALUES (1, 'Java Fundamentos', 2, 2, 270);
INSERT INTO CURSO (CODIGO, CURSO, TIPO, INSTRUTOR, VALOR) VALUES (2, 'Java Avançados', 2, 2, 330);
INSERT INTO CURSO (CODIGO, CURSO, TIPO, INSTRUTOR, VALOR) VALUES (3, 'SQL Completo', 1, 1, 170);
INSERT INTO CURSO (CODIGO, CURSO, TIPO, INSTRUTOR, VALOR) VALUES (4, 'PHP Básico', 2, 1, 270);
SELECT * FROM CURSO;
Dá sempre o Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`softblue`.`curso`, CONSTRAINT `curso_ibfk_1` FOREIGN KEY (`TIPO`) REFERENCES `tipo` (`CODIGO`))