Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Trigger para armazenar data e hora.


Edbatch

Question

Olá amigos!

Bem, criei uma trigger que deverá armazenar em uma tabela, a data e hora de alteração na tabela ´produto´,

o objetivo é utilizar essa informação para exibir em uma tela, os produtos atualizados recentemente.

o meu problema é que a trigger está armazenando o valor "truncado" na tabela produto_alteracao (sem a hora),

alguém saberia como forçar o mysql a não truncar esse valor?

mysql> insert into rseletro.produto(id) values (7);
Query OK, 1 row affected, 1 warning (0.08 sec)
1265 Data truncated for column 'data_alteracao' at row 1

mysql> select * from rseletro.produto_alteracao;
+------------+----------------+
| id_produto | data_alteracao |
+------------+----------------+
|          8 | 2011-07-23     |
|          7 | 2011-07-23     |
+------------+----------------+
2 rows in set (0.00 sec)
Aliás também aproveito para perguntar se no mysql não existe um comando equivalente a "before insert OR update" (como no oracle), pois não encontrei na internet exemplos de trigger que utilizassem as duas ações ao mesmo tempo, tive de criar duas triggers para cada ação... segue fonte da triggers:

delimiter $$

use `rseletro`$$

create
definer=`root`@`localhost`
trigger `rseletro`.`trig_atz_alt_prod`
before update on `rseletro`.`produto`
for each row
begin

insert into produto_alteracao values (new.id, sysdate());

end$$

create
definer=`root`@`localhost`
trigger `rseletro`.`trig_ins_alt_prod`
before insert on `rseletro`.`produto`
for each row
begin

insert into produto_alteracao values (new.id, sysdate());

end$$

Edited by Denis Courcy
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
Problema resolvido.

Verifiquei que no Mysql campos DATE não armazenavam horas (como funciona no oracle), então acrescentei um campo hora_alteracao do tipo TIME na tabela em questão.

Grato.

Oi 'Edbatch',

Era só você usar o tipo Timestamp em vez de usar Date. Mas já que você encontrou outra solução...

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...