doglino 0 Denunciar post Postado Agosto 29, 2006 Como eu faço pra ter um campo que guarde apenas o mes e o ano, é o que eu preciso guardar.usei timestamp mas acho q não dá certo, setei o padrão 0000-00 mas não aceitou! Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Agosto 30, 2006 O manual diz: TIMESTAMP[(M)] Um timestamp. A faixa é entre '1970-01-01 00:00:00' e algum momento no ano 2037. No MySQL 4.0 ou anteriores, os valores TIMESTAMP são exibidos nos formatos YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, ou YYMMDD, dependendo se M é 14 (ou não definido), 12, 8 ou 6, mas permite a você atribuir valores ao campo TIMESTAMP usando strings ou números.Portanto, acho que lhe resta utilizar:MEDIUMINT[(M)] [uNSIGNED] [ZEROFILL] Um inteiro de tamanho médio. A faica com sinal é de -8388608 a 8388607. A faixa sem sinal é de 0 to 16777215.No caso você registraria apenas os números, ou seja, se o hífem. Compartilhar este post Link para o post Compartilhar em outros sites
doglino 0 Denunciar post Postado Agosto 30, 2006 Oi, Tentei alterar a tabela para receber mes e ano juntos,exemplo062006como está configurado o campo atual:nome tipo Nulo Padrãodata timestamp Sim NULL tentei alterar mas, exibiu esse erro:comando SQL : ALTER TABLE `revista` CHANGE `data` `data` TIMESTAMP( 6 ) UNSIGNED ZEROFILL DEFAULT '000000' Mensagens do MySQL : #1064 - 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 'UNSIGNED ZEROFILL DEFAULT '000000'' at line 1 Compartilhar este post Link para o post Compartilhar em outros sites
cjfester 0 Denunciar post Postado Agosto 30, 2006 Este é um típico caso para usar um campo char(6) ou varchar(6), primeiro por causa da formatação, e segundo porque a "malandragem" pra fazer isso num timestamp demanda muito mais código e pode dar algum problema quando fizeres comparações ou ordenação.Por default, esse tipo de informação é para referência de Mês/Ano, eu particularmente sempre uso esse tipo de campo como char(6), no formato AAAAMM, o que garante a formatação (200606 e não 62006) e é muito prático para comparações e ordenação (o método americano se não me engano é que usa datas no formato AAAAMMDD, que facilita na ordenação). Compartilhar este post Link para o post Compartilhar em outros sites