Jump to content
Leudassdf

Inserir caso não exista registo e atualizar caso exista

Recommended Posts

Leudassdf

Boas pessoal,

eu gostava de atualizar um campo da minha tabela descritor caso existi-se o cod=1.

Caso nao exista deveria executar um insert into.

Isto é possivel?

Mysql 5.5

Share this post


Link to post
Share on other sites
legd1991

Sim. Fazes um select primeiro ao registo com esse código, caso retorne um valor fazes update, senão fazes um insert

Share this post


Link to post
Share on other sites
Leudassdf

Sim. Fazes um select primeiro ao registo com esse código, caso retorne um valor fazes update, senão fazes um insert

e isso da para fazer numa query? como?

Share this post


Link to post
Share on other sites
legd1991

Penso que em MySql não dá para fazer tudo num só passo, tens de fazer uma query pelo código e se essa retornar algum registo fazes outra para update, senão retornar fazes outra para insert

Share this post


Link to post
Share on other sites
Leudassdf

Penso que em MySql não dá para fazer tudo num só passo, tens de fazer uma query pelo código e se essa retornar algum registo fazes outra para update, senão retornar fazes outra para insert

pois assim torna-se mais complexo.

Share this post


Link to post
Share on other sites
legd1991

Fiz uma pesquisa no google e afinal penso que consegues fazer numa única query

INSERT INTO tabela (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=1;

UPDATE tabela SET a=2 WHERE c=1;

Edited by legd1991

Share this post


Link to post
Share on other sites
Leudassdf

Fiz uma pesquisa no google e afinal penso que consegues fazer numa única query

INSERT INTO tabela (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=1;

UPDATE tabela SET a=2 WHERE c=1;

Tenho que experimentar. como eu tenho conjuntos de chaves unicas nao sei se dará mas e capaz

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.