Oi pessoal
Sou iniciante em SQL e meu professor passou um exercicio onde cheguei as seguntes tabelas
CREATE TABLE Cidade
(
CodCidade INTEGER NOT NULL,
Nome VARCHAR(100) NOT NULL,
UF CHAR(2),
CONSTRAINT pkCidade PRIMARY KEY (CodCidade)
);
CREATE TABLE Cliente
(
CodCliente INTEGER NOT NULL,
Nome VARCHAR(100) NOT NULL,
Email VARCHAR(250),
CodCidade INTEGER NOT NULL,
CONSTRAINT pkCliente PRIMARY KEY (CodCliente),
CONSTRAINT fkClienteCidade FOREIGN KEY (CodCidade) REFERENCES Cidade(CodCidade)
);
CREATE TABLE Fornecedor
(
CodFornecedor INTEGER NOT NULL,
Nome VARCHAR(100) NOT NULL,
Email VARCHAR(250),
CodCidade INTEGER NOT NULL,
CONSTRAINT pkFornecedor PRIMARY KEY (CodFornecedor),
CONSTRAINT fkFornecedorCidade FOREIGN KEY (CodCidade) REFERENCES Cidade(CodCidade)
);
… e essas tabelas estao preenchidas, mas 1 dos exercícios pedidos é o seguinte: “Exclua todas as cidades do estado de SP”.
ae insiro o seguinte código SQL
DELETE FROM Cidade
WHERE UF = ‘SP’;
então acontece o seguinte erro: ERROR 1451 - Que pede para remover aos relacionamentos criados pelas FOREIGN KEYS… E no inicio do exercício eu consegui deletar e criar os relacionamentos a partir do seguinte código:
ALTER TABLE Cliente
DROP FOREIGN KEY fkClienteCidade;
ALTER TABLE Fornecedor
DROP FOREIGN KEY fkFornecedorCidade;
depois disso aparece ERROR 1025 dizendo que tem error on rename of…
e esse erro só aparece depois de serem digitados os dados no campo… o “DELETE ON CASCADE” resolveria? COmo uso esse recurso caso seja a solução?
O que vcs acham que pode ser e como posso resolver meu problema?
Abraços a todos e Bons Estudo!!!