MySQL bug??!!

mascker

Power Member
Boas,

aconteceu-me uma situação estranha...

tenho uma tabela na base de dados em que um dos campos é enum('0','1') NOT NULL default '0'

Tá a fazer uns testes e tal e reparei que algo não estava certo.

Não é que vou à tabela e tinha 60 campos em que o valor era =''


Nem tinha 0 nem 1. Estava vazio, nem NULL era, era vazio.

Isto é possível??


Saudações
 
Sim de certa forma é bug do MySQL mas isso significa que tens problema no código nalgum sítio, estas situações acontecem quando tens um INSERT e te esqueces de encapsular o valor com as "plicas" ou "apostrofes".

Do género:
INSERT INTO t1 (chave,campo_enum) VALUES (3,1);
vai dar barraca, contudo este:
INSERT INTO t1 (chave,campo_enum) VALUES (3,'1');
já não.

Apesar dos valores possíveis para o enum serem inteiros, o tipo de dados enum tem este problema, tens que usar ->SEMPRE<- valores como se fossem strings, penso eu que mesmo para os SELECTS.
 
Viva,

Tive a ver o código e tá tudo entre '' ...

Mas contudo se não estivesses, tinha que dar erro... Ou pelo menos faz sentido que assim fosse...

Mas para meter mais achas, em algumas queries nem sequer faço o insert do campo, deixo que ele insira o valor por defeito....

Vou fazer mais testes a ver se descubro alguma coisa...

Obrigado pela resposta...


Saudações
 
Back
Topo