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

TIMESTAMP CURRENT_TIMESTAMP


thgmbz

Pergunta

Boa Noite

Gostaria de saber se alguém conhece alguma possibilidade de usar o TIMESTAMP

dessa maneira abaixo:

CREATE TABLE produto (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
nome varchar(45) NOT NULL,
descricao varchar(45) NOT NULL,
/*data criação*/
datacriacao TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
/*data atualização*/
datamodificacao TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Utilize DEFAULT CURRENT_TIMESTAMP somente para a data de alteração. (Só pode haver um DEFAULT CURRENT_TIMESTAMP por registro.

Para data de criação use datetime e alimente-o com NOW() na inclusão.

Link para o comentário
Compartilhar em outros sites

  • 0

Denis boa noite...

Estou trabalhando em um crud php e não estou conseguindo atribuir da maneira que me indicou poderia me ajudar?

Faça assim:

CREATE TABLE produto (
  id int(10) unsigned NOT NULL AUTO_INCREMENT,
  nome varchar(45) NOT NULL,
  descricao varchar(45) NOT NULL,
  /*data criação*/
  datacriacao  DATETIME NOT NULL,
  /*data atualização*/
  datamodificacao TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Quando for dar INSERT nesta tabela use NOW() para atribuir valor para o atributo datacriacao. Não há necessidade de timestamp pois este atributo recebe valor somente na ação de insert.

exemplo:

INSERT INTO produto(nome, descricao, datacriacao)
VALUES ("nome produto", "usado para qualquer coisa", NOW());
Pelo que analisei sua tabela já possui alguns produtos cadastrados AUTO_INCREMENT=6.

Você pode dar um ALTER TABLE para modificar o atributo datacriacao, fazendo assim:

ALTER TABLE produto
MODIFY COLUMN datacriacao DATETIME NOT NULL;
Link para o comentário
Compartilhar em outros sites

  • 0

Boa Tarde...
O fato é que estou passando para o banco da seguinte forma...

$con = new conexao(); // instancia classe de conxao
$con->connect(); // abre conexao com o banco
@$getId = $_GET['id']; //pega id para ediçao caso exista
if(@$getId){ //se existir recupera os dados e tras os campos preenchidos
$consulta = mysql_query("SELECT * FROM produto WHERE id = + $getId");
$campo = mysql_fetch_array($consulta);
}
Link para o comentário
Compartilhar em outros sites

  • 0

falto essa parte...

if(isset ($_POST['cadastrar'])){ // caso não seja passado o id via GET cadastra
$datamodificacao=date("d/m/Y h:i:s");
$nome = $_POST['nome']; //pega o elemento com o pelo NAME
$descricao = $_POST['descricao']; //pega o elemento com o pelo NAME
$crud = new crud('produto'); // instancia classe com as operaçoes crud, passando o nome da tabela como parametro
$crud->inserir("nome,descricao", "'$nome','$descricao'"); // utiliza a funçao INSERIR da classe crud
header("Location: index.php"); // redireciona para a listagem
}
if(isset ($_POST['editar'])){ // caso seja passado o id via GET edita
$datamodificacao=date("d/m/Y h:i:s");
$nome = $_POST['nome']; //pega o elemento com o pelo NAME
$descricao = $_POST['descricao']; //pega o elemento com o pelo NAME
$crud = new crud('produto'); // instancia classe com as operaçoes crud, passando o nome da tabela como parametro
$crud->atualizar("nome='$nome',descricao='$descricao'", "id='$getId'"); // utiliza a funçao ATUALIZAR da classe crud
header("Location: index.php"); // redireciona para a listagem
}
Link para o comentário
Compartilhar em outros sites

  • 0

Use um trigger para gravar a data de criação do registro. Menos trabalhoso que usar o php.

DELIMITER $$;

DROP TRIGGER `nomeDoSeuBancoDeDados`.`produto_trig_bi`$$

CREATE TRIGGER `produto_trig_bi` BEFORE INSERT ON `produto` 
FOR EACH ROW BEGIN
   SET NEW.datacriacao = NOW();
END;
$$

DELIMITER ;$$
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

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