tabela aparece vazia mysql
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
Curtidas 0
Respostas
Arthur Heinrich
29/04/2024
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.
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.
GOSTEI 0
Gabriel
29/04/2024
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.
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.
GOSTEI 0
Pedro Bonfim
29/04/2024
Ih rapaz... boa pergunta. Vou analisar aqui e qualquer coisa digo.
GOSTEI 0