Deletando registro após data vencida Mysql
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
Posts
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.
26/04/2017
Michael Batista
criar um evento é facil, mas agora pegar uma data e somar 7 dias, até hoje nunca descobri como
26/04/2017
Cesar Azeredo
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?
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
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
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
Clique aqui para fazer login e interagir na Comunidade :)