Fórum Deletando registro após data vencida Mysql #580442
24/04/2017
0
Confiram a tabela no site www.aikachibihistory.com
eu já pesquisei a respeito, mas ainda não consegui criar um evento para isso, se alguém puder me ajudar com um exemplo
Michael Batista
Curtir tópico
+ 0Posts
25/04/2017
Michael Batista
Gostei + 0
25/04/2017
Lincon Silva
Segue um exemplo que peguei na WEB.
ALTER EVENT purge_erroritem
ON SCHEDULE EVERY 1 DAY
COMMENT 'Apaga registros com mais de 7 dias!'
DO
BEGIN
{*
AQUI VOCE COLOCA SEU COMANDO DE DELETE DOS REGISTROS COM 7 DIAS
*}
END|
delimiter ;
Vale lembrar que esse comando tá configurado pra rodar diariamente, você verifica pelo comando [ ON SCHEDULE EVERY 1 DAY].
Me avisa se isso te atender Mestre.. Boa tarde e abraços.
Gostei + 0
26/04/2017
Michael Batista
criar um evento é facil, mas agora pegar uma data e somar 7 dias, até hoje nunca descobri como
Gostei + 0
26/04/2017
Cesar Azeredo
Gostei + 0
26/04/2017
Michael Batista
se eu conseguir criar uma variável data_vencida que faça essa soma de 7 dias na data_cadastro, eu posso criar facilmente o evento no sql para deletar, atualmente uso o seguinte método
try {
con = getConnection();
st = con.createStatement();
PreparedStatement preparedStatement = con.prepareStatement(
"insert into item (cod_id ,cod_icone, nome_item, servidor, refinacao, vendedor,"
+ "preco, descricao, data_cadastro, data_vencimento) values(?,?,?,?,?,?,?,?,?,?)");
preparedStatement.setInt(1, item.getCod_id());
preparedStatement.setString(2, item.getCod_icone());
preparedStatement.setString(3, item.getNome_item());
preparedStatement.setString(4, item.getServidor());
preparedStatement.setString(5, item.getRefinacao());
preparedStatement.setString(6, item.getVendedor());
preparedStatement.setString(7, item.getPreco());
preparedStatement.setString(8, item.getDescricao());
preparedStatement.setDate(9, new java.sql.Date(new Date().getTime()));
preparedStatement.setDate(10, new java.sql.Date(new Date().getTime()));
preparedStatement.execute();
return true;
}
alguém sabe como somar essa data no java?
Gostei + 0
26/04/2017
Lincon Silva
criar um evento é facil, mas agora pegar uma data e somar 7 dias, até hoje nunca descobri como
Mestre, bom dia.
creio que esse comando te atende
where Date < DATE_SUB(CURDATE(),INTERVAL 7 DAY);
abraços
Gostei + 0
26/04/2017
Michael Batista
vamos passo a passo
1- preciso que a variável data_ vencimento receba data_castro+7, no ato do cadastro, para que o usuário sabia o dia em que seu registro irá expirar
2- criar um evento diário com a função:
se data atual = data vencimento, apague o registro
Gostei + 0
26/04/2017
Michael Batista
preparedStatement.setDate(9, new java.sql.Date(new Date().getTime()));
preparedStatement.setDate(10, new java.sql.Date(new Date().getTime()+7));
mas não deu certo, não acusou erro no console, mas gerou uma data aleatória
se funcionasse eu teria a data de vencimento registrada no banco e com ela eu poderia criar o evento
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)