我希望在7天后删除MySQL数据库中的一些消息.
我的消息表行具有以下格式:id | 消息| 日期
日期是正常格式的时间戳; 2012-12-29 17:14:53
我认为MySQL事件将是一种方式,而不是一个cron工作.
对于经验丰富的SQL人员,我认为这是一个简单的问题,如何在下面的括号中编写删除消息部分?
一个例子将不胜感激,谢谢.
DELIMITER $$
CREATE EVENT delete_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
ON COMPLETION PRESERVE
DO
BEGIN
DELETE messages WHERE date >= (the current date - 7 days);
END;
$$;
Run Code Online (Sandbox Code Playgroud) 即使在onPostExecute()中运行progressDialog.dismiss,AsyncTask中的进度对话框也不会被忽略.
我曾尝试在SO上实现许多相关问题的答案,到目前为止没有成功.
我确信我必须忽略一些非常基本的东西,但我被困住了.
任何指向解释和代码片段的指针都会很棒,谢谢.
主要
public class Main extends Activity {
String result;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
asyncTask task = new asyncTask("Loading ...", this);
try {
result = task.execute("Question").get();
}
catch (Exception e) {
Log.e("Error: ", e.toString());
}
}
}
Run Code Online (Sandbox Code Playgroud)
的AsyncTask
public class asyncTask extends AsyncTask<String, Void, String> {
private ProgressDialog progressDialog;
private String message;
private Context context;
public asyncTask(String msg, Context ctx) {
this.context = ctx;
message = msg;
}
@Override
protected void onPreExecute() { …Run Code Online (Sandbox Code Playgroud)