(JAVA)Inserir valor na tabela SQL em campos específicos

15 respostas
L

Boa Galera…estou com uma dúvida…
Posso inserir um insert assim em persistência java?

Strin sql= “insert into Empresa (contato) value(?) where email=?”

15 Respostas

L

Pois preciso cadastrar esse contato em algumas empresas após algumas ações
e não queria criar outra tabela só para isso…
Desde já agradeço!!!

Lucas_Camara

Vc não coloca where na sintaxe do insert.

Seria apenas:

String sql = "INSERT INTO Empresa (contato) VALUES (?)"

Mas qual o problema? Está dando algum erro?

L

não…erro não…
eu queria inserir apenas uma coluna da tabela
ou seja…eu tenho uma tabela com 4 colunas
e quero inserir apenas em algumas colunas com
certas empresas
tipo:
ID EMPRESA CNPJ CONTATO
1 xxxxx xxxxx xxxxxx
2 xxxxx xxxxx (021)xxxxx

L

não sei se tem outro jeito sql…
não saco muito de sql…manjo o básico sabe

Lucas_Camara

Como é a estrutura da tabela Empresa?

L

Table: public.Empresa

– DROP TABLE public.Empresa;

CREATE TABLE IF NOT EXISTS public.Empresa

(

id integer NOT NULL,

empresa character varying(255) COLLATE pg_catalog.default NOT NULL,

cnpj character varying(255) COLLATE pg_catalog.default NOT NULL,

contato character varying(255) COLLATE pg_catalog.default,

CONSTRAINT Empresa_pkey PRIMARY KEY (id)

)

TABLESPACE pg_default;

ALTER TABLE public.Empresa
OWNER to xxxxxxxx;

L

eu não quero criar outra tabela só para isso sabe…
o lance é algumas empresas receberem contatos diferentes
dependendo do que seja feito na view sabe

Lucas_Camara

O problema é que 3 das 4 colunas são NOT NULL. Isso já vai ser um problema para o que vc quer fazer, sem falar que a primary key da tabela (ID) tem que ser preenchida, não é recomendado ter registros numa tabela sem um identificador.

L

como posso fazer para conseguir inserir dados em colunas específicas?
se eu tirar o NOT NULL e PRIMARY KEY?

isso posso tratar na aplicação sem problema…oque não quero é
criar outra tabela…kkkkkkkkk

Lucas_Camara

Pode tirar o NOT NULL, mas não recomendo tirar o PRIMARY KEY, uma vez que ela serve para identificar o registro e fazer relacionamentos com outra tabela. Mas tah muito estranho isso que vc está querendo fazer. Pq vc quer gravar apenas na coluna contato? A informação nessa coluna não tera relação com mais nada na aplicação ou com qualquer outra tabela do banco?

staroski

Faz um UPDATE do registro da empresa setando esse e-mail.

Mas as empresas só tem um email para contato?

Eu criaria uma tabela de CONTATOS e relacionaria com a tabela EMPRESAS

L

sim…cada empresa tem seu email e contato…
isso…boa… acho que posso fazer um update sim…
e quando contato chegar null posso inserir o valor nele
então , não queria criar uma tabela só para isso.

o único problema disso é o tempo de execução?

L

estou em dúvida mesmo…
pois cada email poderá ter vários contatos
como poderei inserir e excluir contato de
email específico?

staroski

Acho que você precisa estudar normalização de banco.
Já te foi dado a dica de criar uma tabela e fazer o relacionamento.
Não há motivo em insistir em criar apenas uma coluna na tabela existente.

L

farei isso brother…não tem outro jeito

vlw galera!!!

Criado 6 de outubro de 2021
Ultima resposta 7 de out. de 2021
Respostas 15
Participantes 3