Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) É possível: dois campos timestamp com default current_time


paulobergo

Pergunta

Olá pessoal...

Vejam o exemplo:

create table `protocolo`.`licitacao` (
codobj                integer unsigned not null auto_increment,
datacadastro          timestamp default current_timestamp,
numero                integer,
ano                   integer,
licitacao_tipo_codobj integer unsigned default 0,
objeto                text,
obs                   text,
datainicio            timestamp default current_timestamp,
datatermino           timestamp default current_timestamp,
excluido              tinyint not null default 0,
primary key (`codobj`),
constraint foreign key (`licitacao_tipo_codobj`) references licitacao_tipo(`codobj`)
) engine=InnoDb;

Há alguma forma de contornar o erro e fazer o MySQL aceitar dois campos do tipo timestamp que, nos Inserts, já sejam preenchidos com a data atual?

Grato! abraços!

Editado por Denis Courcy
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Há alguma forma de contornar o erro e fazer o MySQL aceitar dois campos do tipo timestamp que, nos Inserts, já sejam preenchidos com a data atual?

Somente o primeiro campo timestamp declarado com default current_timestamp recebe esta característica.

Para contornar o problema, use um trigger assim:

DELIMITER $$;

DROP TRIGGER `protocolo`.`sequence_b_insert`$$

create trigger `sequence_b_insert` BEFORE INSERT on `licitacao` 
for each row BEGIN
   set NEW.datatermino =  NEW.datainicio;
END;
$$

DELIMITER;$$

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...