tabela aparece vazia mysql

29/04/2024

0

Olá, estou fazendo um banco para um trabalho da faculdade mas não consigo passar de um erro que está acontecendo. Preciso relacionar o a tabela vinho com a vinicola. O ID da vinicola está com AUTO_INCREMENT mas se eu não coloco o valor para relacionar na inserção do preenchimento do vinho, a tabela simplesmente aparece vazia, o que posso fazer?

drop database if exists somativa2;
create database somativa2;

create table somativa2.regiao(
	codRegiao bigint primary key ,
    nomeRegiao varchar(100) not null,
    descricaoRegiao text
);

create table somativa2.vinicola(
	codVinicola bigint primary key auto_increment,
    nomeVinicola varchar(100) not null,
    descricaoVinicola text,
    foneVinicola varchar(15),
    emailVinicola varchar(15),
    codRegiao bigint,
    foreign key (codRegiao) references somativa2.regiao(codRegiao)
);

create table somativa2.vinho(
	codVinho bigint primary key auto_increment,
    nomeVinho varchar(50) not null,
    tipoVinho varchar(30) not null,
    anoVinho int not null,
    descricaoVinho text,
    codVinicola bigint,
    foreign key (codVinicola) references somativa2.vinicola(codVinicola)
);

insert into somativa2.regiao(nomeRegiao, descricaoRegiao, codRegiao) values (''Italia'', ''Vinho italiano'', 1);
insert into somativa2.regiao(nomeRegiao, descricaoRegiao, codRegiao) values (''Franca'', ''Vinho frances'',2);
insert into somativa2.regiao(nomeRegiao, descricaoRegiao, codRegiao) values (''Brasil'', ''Vinho brasileiro'', 3);
insert into somativa2.regiao(nomeRegiao, descricaoRegiao, codRegiao) values (''Argentino'', ''Vinho argentino'', 4);
insert into somativa2.regiao(nomeRegiao, descricaoRegiao, codRegiao) values (''Portugal'', ''Vinho portugues'', 5);

insert into somativa2.vinicola(nomeVinicola) values (''Vinicola feliz'');
insert into somativa2.vinicola(nomeVinicola) values (''Vinicola do bom vinho'');
insert into somativa2.vinicola(nomeVinicola) values (''Vinicola Recanto Para'');
insert into somativa2.vinicola(nomeVinicola) values (''Vinicola dos irmaos'');
insert into somativa2.vinicola(nomeVinicola) values (''Vinicola da nona'');

-- Inserção do vinho "Albarino" da vinícola "Vinicola feliz"
INSERT INTO somativa2.vinho(nomeVinho, tipoVinho, anoVinho, codVinicola)
VALUES (''Albarino'', ''seco'', 1975, 1);

-- Inserção do vinho "Bobal" da vinícola "Vinicola do bom vinho"
INSERT INTO somativa2.vinho(nomeVinho, tipoVinho, anoVinho, codVinicola)
VALUES (''Bobal'', ''tinto'', 1990, 2);

-- Inserção do vinho "Carbanet" da vinícola "Vinicola Recanto Para"
INSERT INTO somativa2.vinho(nomeVinho, tipoVinho, anoVinho, codVinicola)
VALUES (''Carbanet'', ''suave'', 1794, 3);

-- Inserção do vinho "Carignan" da vinícola "Vinicola dos irmaos"
INSERT INTO somativa2.vinho(nomeVinho, tipoVinho, anoVinho, codVinicola)
VALUES (''Carignan'', ''seco'', 1962, 4);

-- Inserção do vinho "Malbec" da vinícola "Vinicola da nona"
INSERT INTO somativa2.vinho(nomeVinho, tipoVinho, anoVinho, codVinicola)
VALUES (''Malbec'', ''tinto'', 1892, ''5'');

select v.nomeVinho, v.tipoVinho, v.anoVinho, vi.nomeVinicola
from somativa2.vinho as v
inner join somativa2.vinicola as vi on v.codVinicola = vi.codVinicola;
Gabriel

Gabriel

Responder

Posts

29/04/2024

Arthur Heinrich

Você já experimentou fazer um "select * from somativa2.vinicola;" para ver o que foi inserido?

Pode ser que o controle do autoincrement não tenha numerado as linhas como você gostaria e, agora, ao fazer o join, os IDs podem não estar batendo, retornando zero linhas.
Responder

29/04/2024

Gabriel

Você já experimentou fazer um "select * from somativa2.vinicola;" para ver o que foi inserido?

Pode ser que o controle do autoincrement não tenha numerado as linhas como você gostaria e, agora, ao fazer o join, os IDs podem não estar batendo, retornando zero linhas.


Então, isso que fico me batendo pq aparentemente a chave funciona o auto_increment, mas na parte do vinho da chave estrangeira aparece nulo. Já testei colocar not null mas também não resolve.
Responder

30/04/2024

Pedro Bonfim

Ih rapaz... boa pergunta. Vou analisar aqui e qualquer coisa digo.
Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar