Diogo de Freitas Postado Novembro 5, 2009 Denunciar Share Postado Novembro 5, 2009 Olá pessoal, Queria saber se tem como criar uma variável do tipo vetor no mysql? Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Novembro 5, 2009 Denunciar Share Postado Novembro 5, 2009 Olá pessoal, Queria saber se tem como criar uma variável do tipo vetor no mysql?Oi, Diogo!O MySQL não tem o tipo Array(vetor). Você pode simular usando um varchar e procurando com a função substring.Não sei qual seu objetivo neste tipo de pesquisa, mas desaconselho o uso de array. Não é uma forma inteligente de guardar ou recuperar informações em bancos de dados. Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo de Freitas Postado Novembro 5, 2009 Autor Denunciar Share Postado Novembro 5, 2009 (editado) E porque queria guardar um pequeno conjunto de dados. Não queria criar uma tabela so para isso e por substring eu acho meio gambiarra ^^. Para ser mais especifico queria guardar o número dos ids de alguns produtos.SET k_item = "refrigerante;pepsi;light"; While I < N DO SELECT replace(substring(substring_index(kitem, ';', i), length(substring_index(kitem, ';', i-1))+1), ';', '') INTO k_nome;] Vetor[i] = SELECT id FROM n_item WHERE nome = k_nome; END WHILE;Se não existe array, tem um jeito que seja mais eficiente para o que eu quero?. não queria guardas os ids em varcharObrigado Editado Novembro 5, 2009 por Diogo de Freitas Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Novembro 5, 2009 Denunciar Share Postado Novembro 5, 2009 Oi, 'Diogo de Freitas'A maneira mais eficiente, apesar de você não querer utilizá-la é guardar em uma tabela.Eu tenho diveras tabelas de domínios que guardam apenas o id e a descrição ou o nome. Tabelas que mantém de 2 a n registros (muitas não passando de 10 registros).Um exemplo clássico é a tabela de tipo_estado_civil com os domínos solteiro, casado, divorciado, separado, viuvo, etc.Outro exemplo é estados_brasileiros, e muitos mais. Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo de Freitas Postado Novembro 5, 2009 Autor Denunciar Share Postado Novembro 5, 2009 O motivo de estar querendo guardar os valores em variáveis, e por que vou utilizalas somente temporariamente, até quando terminar o procedure. Em tabelas eu acho q gasta muito processamento, não?!!! mas vou tentar aqui. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Novembro 5, 2009 Denunciar Share Postado Novembro 5, 2009 O motivo de estar querendo guardar os valores em variáveis, e por que vou utilizalas somente temporariamente, até quando terminar o procedure. Em tabelas eu acho q gasta muito processamento, não?!!! mas vou tentar aqui.Use tabela temporária com engine memory. Não ocuparão espaço em disco e você pode dropá-las da memória ao final da execução da procedure.A sintaxe para criação deste tipo de tabela é:CREATE TEMPORARY TABLE <nome-da-tabela> ( <campo 1> <definicao de campo 1>, ... <campo n> <definicao de campo n>, primary key (<campo x>) )ENGINE MEMORY; Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo de Freitas Postado Novembro 5, 2009 Autor Denunciar Share Postado Novembro 5, 2009 Obrigado Denis, como sempre me ajudando muito. valews Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Diogo de Freitas
Olá pessoal, Queria saber se tem como criar uma variável do tipo vetor no mysql?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados