Jump to content
ragazzo04

[Resolvido] Insert MySql

Recommended Posts

ragazzo04

Boa tarde pessoal

Gostava que me pudessem esclarecer uma dúvida num comando MySql.

Eu tenho a seguinte tabela Operação:

idOperacao (INT)

Operacao_Data_Inicio (DATE)

Operacao_Data_Prevista (DATE)

Operacao_Data_Final (DATE)

Operacao_Observacao (VARCHAR200)

Estado_idEstado (INT)

Utilizador_idUtilizador (INT)

Local_idLocal (INT)

Eu consigo inserir nesta tabela da seguinte maneira:

INSERT INTO `gabineteinformatica`.`operacao` (`Operacao_Data_Inicio`, `Operacao_Data_Prevista`, `Operacao_Data_Final`, `Operacao_Observacao`, `Estado_idEstado`, `Utilizador_idUtilizador`, `Local_idLocal`) VALUES ('2013-02-12', '2013-02-15', '2013-03-20', 'TESFTE', '2', '1', '8');

Sendo o 2 o 1 e o 8 o valor dos id’s em outras tabelas. Mas eu necessitava de introduzir esses valores através do nome correspondente a esse ID na respectiva tabela.

Eu sei que se fosse apenas só um poderia fazer assim:

INSERT INTO local (`Local_Nome`, `Tipo_Local_idTipo_Local`) select '1', idTipo_Local from tipo_local where Tipo_Local_Nome = 'Gabinete';

Eu tentei:

INSERT INTO operacao (`Operacao_Data_Inicio`, `Operacao_Data_Prevista`, `Operacao_Data_Final`, `Operacao_Observacao`, `Estado_idEstado`, `Utilizador_idUtilizador`, `Local_idLocal`) select '2013-03-18', '2013-03-19', '2013-03-19', 'Teste192', idEstado from estado where Estado_Nome = 'Terminado' , idUtilizador from utilizador where Utilizador_Numero = '1008356', idLocal from local where Local_Nome = 'Terminado';

Mas dá-me o seguinte erro:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' idUtilizador from utilizador where Utilizador_Numero = '1008356', idLocal from ' at line 1 0.000 sec

Edited by brunoais
geshi

Share this post


Link to post
Share on other sites
ragazzo04

Já consegui achar uma solução, aqui fica para se alguém necessitar:

INSERT INTO operacao (`Operacao_Data_Inicio`, `Operacao_Data_Prevista`, `Operacao_Data_Final`, `Operacao_Observacao`, `Estado_idEstado`, `Utilizador_idUtilizador`, `Local_idLocal`) values ("2013-03-18", "2013-03-19", "2013-03-19", "Teste192", (select idEstado from estado where Estado_Nome = 'Terminado'), (select idUtilizador from utilizador where Utilizador_Numero = '1008356'), (select idLocal from local where Local_Nome = 'Redes'));

Edited by brunoais
geshi

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • 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.