Tipo campo MUL
boa noite,
tenho um banco de dados no mysql, e nesse banco tenho uma tabela cliente que tem um campo telefone do tipo:
campo collation null key default
-----------------------------------------------------------------------------------------
telefone char(30) latin1_swedish_ci NO MUL L3
quando faço uma consulta nessa tabela, no campo telefone tenho esse retorno:
31381766985 0 0
ou algum outro valor onde estão os 0.
sera que esse MUL serve para poder preencher outros valores no mesmo campo? se sim como faço para retornar somente o que me interessa?
alguém pode me ajudar?
grato.
tenho um banco de dados no mysql, e nesse banco tenho uma tabela cliente que tem um campo telefone do tipo:
campo collation null key default
-----------------------------------------------------------------------------------------
telefone char(30) latin1_swedish_ci NO MUL L3
quando faço uma consulta nessa tabela, no campo telefone tenho esse retorno:
31381766985 0 0
ou algum outro valor onde estão os 0.
sera que esse MUL serve para poder preencher outros valores no mesmo campo? se sim como faço para retornar somente o que me interessa?
alguém pode me ajudar?
grato.
Jose Medeiros
Curtidas 0
Respostas
Jothaz
11/04/2016
O MySQL possibilita criar campos multivalorados (MUL), que nada mais é que um campo que aceita mais de um valor ou linha. Então neste caso você pode-se gravar vários telefone neste campo,
Antigamente nos bancos de dados hierárquicos era usual esta prática, mas com banco relacionais não é um boa prática.
O mais indicado é normalizar e criar um tabela com os telefones, pois assim sua base poderá ser usada e migrada sem problemas, pois nem todo os SGBD aceitam multivalorado .
Antigamente nos bancos de dados hierárquicos era usual esta prática, mas com banco relacionais não é um boa prática.
O mais indicado é normalizar e criar um tabela com os telefones, pois assim sua base poderá ser usada e migrada sem problemas, pois nem todo os SGBD aceitam multivalorado .
GOSTEI 0
Jose Medeiros
11/04/2016
Boa tarde.
Obrigado pela explicação, como esse banco é de um sistema onde preciso buscar alguns registros. Como faço num select num campo desse tipo buscar somente um valor exemplo.
No campo telefone char (30) MIL tenho esse valor
381790099 0 0
Como faço num select trazer somente o telefone?
Grato
Obrigado pela explicação, como esse banco é de um sistema onde preciso buscar alguns registros. Como faço num select num campo desse tipo buscar somente um valor exemplo.
No campo telefone char (30) MIL tenho esse valor
381790099 0 0
Como faço num select trazer somente o telefone?
Grato
GOSTEI 0
Jothaz
11/04/2016
Este é um problema de usar multivalorados, recuperar as informações.
Tem uns 20 anos que não uso campos multivalorados. E nunca usei no MySQL, pois acho uma péssima prática, justamente por problema como este.
Então sinceramente não sei como recuperar somente o valor preenchido sem o 0 0 em um select. Acho que terá de ser feito na aplicação.
Mas pesquise "como selecionar valores em campo multivalorado" ou vamos aguardar alguém que possa ajudá-lo.
Tem uns 20 anos que não uso campos multivalorados. E nunca usei no MySQL, pois acho uma péssima prática, justamente por problema como este.
Então sinceramente não sei como recuperar somente o valor preenchido sem o 0 0 em um select. Acho que terá de ser feito na aplicação.
Mas pesquise "como selecionar valores em campo multivalorado" ou vamos aguardar alguém que possa ajudá-lo.
GOSTEI 0
Fabiano Carvalho
11/04/2016
Teste Isso
SELECT SUBSTRING_INDEX(telefone,' ',1) From Tabela
GOSTEI 0
Jose Medeiros
11/04/2016
boa noite,
valeu amigo, deu certo.
obrigado aos colegas pela força.
valeu amigo, deu certo.
obrigado aos colegas pela força.
GOSTEI 0