我对在MySQL数据库中添加Date
天数表示怀疑。
以下是我的代码:
res=stat.executeQuery("select st_date from tmp1 where st_date = '"+t1.getText()+"'");
while(res.next())
{
System.out.println(res.getDate(1));
int i=0;
while(i<14)
{
statement.executeUpdate("Insert into datetab values(DATE_ADD('"
+res.getDate("st_date")+"',INTERVAL 1 DAY),'"+tempname+"')");
i=i+1;
}
}
datetab
表中的所有更新都会发生,但存在问题。我将用一个例子来解释这个问题。如果来自tmp1表的日期是28-12-2000,那么在用date_add()
执行插入查询之后,会发生13个新插入,但所有这些插入都是“29-12-2000”。 / p>
答案 0 :(得分:0)
如果来自tmp1表的日期是28-12-2000然后在使用date_add()执行插入查询之后,会发生13次新插入,但所有这些插入都是“29-12-2000”。 / p>
因为这正是你所要求的。您的插入语句是:
"Insert into datetab values(DATE_ADD('" + res.getDate("st_date") +
"',INTERVAL 1 DAY),'" + tempname + "')"
由于read.getDate
在循环中没有变化,因此每次交互都会插入相同的值。
使用"Interval 1 DAY"
代替"Interval " + i + " Day"
应该插入不同的日期。那是你在找什么?