在日期列在数据库中不可用的特定日期之后自动删除数据库

时间:2016-09-01 05:50:44

标签: java mysql

我想在任何一年的31日之后删除数据库。但是我的数据库中没有日期列。您可以告诉java代码将执行此操作吗?   我搜索过我可以在myql中使用事件,但我没有得到如何使用它来适应我的应用程序。另外,还有更好的选择吗? 我创建了以下数据库:

CREATE TABLE `amount` (                                                                                                                                                                                                                                                                                                                                                                     

           `userName` VARCHAR(100),
           `DayCareAmount` INT(11) DEFAULT NULL,  
           `HealthCareAmount` INT(11) DEFAULT NULL,  
            `HealthClubAmount` INT(11) DEFAULT NULL,                                                                                                                                                                                                                                                                                                                                                       

           PRIMARY KEY (`userName`)                                                                                                                                                                                                                                                                                                                                                                         
         ) ENGINE=INNODB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8

2 个答案:

答案 0 :(得分:5)

更改您的表格以添加日期或年份字段

ALTER TABLE table_name
ADD column_name datatype

根据日期更新您的金额字段 我现在的财政年度如下

public int getyear( LocalDate date) {
        System.out.println(date.getYear());
        if(date.getMonthValue() < 4){
            return date.getYear() - 1;
        }
        return date.getYear();

    }

答案 1 :(得分:4)

You have to add year column to your database table. CREATE TABLE amount (

       `userName` VARCHAR(100),
       `DayCareAmount` INT(11) DEFAULT NULL,  
       `HealthCareAmount` INT(11) DEFAULT NULL,  
       `HealthClubAmount` INT(11) DEFAULT NULL, 
        finYr INT(4),                                                                                                                                                                                                                                                                                                                                                      

       PRIMARY KEY (`userName`)                                                                                                                                                                                                                                                                                                                                                                         
     ) ENGINE=INNODB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8

Write a logic in your servlet to check whether the date fetched from your jsp is in the particular financial year and store that year in your database table. While fetching year, you can use where clause on finYr to get data for that particular financial year.