[Cascavel-pm] [OT][MySQL]: Magia com ALTER TABLE

Luis Campos de Carvalho lechamps em terra.com.br
Sábado Março 6 07:34:35 CST 2004


Nelson Ferraz wrote:
> Luis Campos de Carvalho wrote:
> 
>>>>   ALTER TABLE clientes
>>>>     ADD COLUMN dia_vencimento_fatura tinyint(2) unsigned not null
>>>>     CHECK( dia_vencimento_fatura >= 1 AND dia_vencimento_fatura <= 
>>>> 31 );
>>>
>>> Você consegue fazer o ALTER TABLE sem o CHECK?
>>
>>
>>   Consigo, claro. Isso é a ANSI SQL/97, se eu não me engano.
>>   Meu problema é justamente como validar as informações COM check()...
> 
> De acordo com a documentação do MySQL, "the CHECK clause is parsed but 
> ignored by all storage engines":
> 
> http://www.mysql.com/doc/en/ALTER_TABLE.html
> 

   Droga!!
   Desculpem por postar uma pergunta que estava no manual.
   Tem sido uma loucura tão grande aqui todos os dias que eu nem sei se 
consigo pensar, ainda...

   Cavalheiros, definitivamente o MySQL é um SGDBD, ou "Sistema 
Gerenciador de Bando de Dados". Alguém teria alguma sugestão sobre como 
implementar isto sem precisar de CHECK()?

   O que vocês acham de eu implementar assim:

   ALTER TABLE clientes
     ADD COLUMN dia_vencimento_fatura
       SET (  1,  2,  3,  4,  5,  6,  7,  8,  9, 10,
             11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
             21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
             31 )
       NOT NULL
       DEFAULT 15
   ;

   Sugestões, gozações, piadas de mau gosto e módulos perl "drop-in" 
para resolver o problema são muito bem vindos.

   Putamplexos a todos.
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
   Luis Campos de Carvalho is BSc in Comp Science,
   PerlMonk [SiteDocClan], Cascavel-pm Moderator,
   Unix Sys Admin && Certified Oracle DBA
   http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=




Mais detalhes sobre a lista de discussão Cascavel-pm