1
resposta

[Dúvida] Correção de erro (alugueis/ reserva) 1146

Boa tarde!

Algumas correções já foram realizadas até aqui.
Reparei agora na atividade de "trabalhando com parâmetros" que a tabela alugueis que foi posteriormente trocada por reservas, agora comparando o video do instrutor está novamente como aluguéis, não me permite serguir com a atividade (não me recordo em video do professor ter feito a alteração novamente de reservas para aluguéis). Já realizei as outras atividades desta maneira e deram certo. A partir daqui somente erros apresentam.

Como faço para realizar essa alteração garantindo a não alteração do que já foi feito e não afetando o que está por vir?

desde já grata

tela instrutor:
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Minha tela
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá Veronica, SQL é massa demais, foi o primeiro curso que fiz quando estava começando na carreira

Você tem duas tabelas:

CREATE TABLE pedidos (
  id INT PRIMARY KEY,
  cliente_id INT,
  valor DECIMAL(10,2)
);

CREATE TABLE clientes (
  id INT PRIMARY KEY,
  nome VARCHAR(100)
);

ALTER TABLE pedidos
ADD CONSTRAINT fk_cliente
FOREIGN KEY (cliente_id)
REFERENCES clientes(id);

Agora você quer renomear clientes → usuarios.

O problema:

Se você tentar:


RENAME TABLE clientes TO usuarios;

O MySQL vai gritar:

Error 1824: Failed to open the referenced table 'clientes'

Passo a passo seguro:

Descobrir o nome da constraint (FK):

SELECT CONSTRAINT_NAME
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'pedidos';

Remover a FK temporariamente:


ALTER TABLE pedidos DROP FOREIGN KEY fk_cliente;

Renomear a tabela:


RENAME TABLE clientes TO usuarios;

Recriar a FK com o novo nome da tabela:

ALTER TABLE pedidos
ADD CONSTRAINT fk_usuario
FOREIGN KEY (cliente_id)
REFERENCES usuarios(id);

Caso queira reportar a diferença das tabelas no curso pode ser aqui https://www.alura.com.br/contato

Espero ter ajudado