如何在Java中将LocalDate.now()作为表名

时间:2018-02-15 10:55:28

标签: java sqlite

我一直致力于一个项目,我需要根据当前日期制作表名,以便每天根据日期创建新表。 我尝试在Sqlite中应用它,但它不会工作。

总是会出现以下错误 [SQLITE_ERROR] SQL错误或缺少数据库(附近" 20180215":语法错误)

 String s="create table if not exists "+LocalDate.now().toString().replaceAll("-","")+" ( id integer primany " +
                "key autoincrement not null, sender text not null, receiever text not null, fathername" +
                " text not null, money integer not null);";

LocalDate.now().toString().replaceAll("-","")

[SQLITE_ERROR] SQL error or missing database (near "20180215": syntax error)

2 个答案:

答案 0 :(得分:1)

除非被强制,否则表名不能以数字开头。

您可以通过将表名括在[table_name]'table_name'"table_name"或`table_name`中来强制执行。

答案 1 :(得分:0)

除了MikeT's answer之外,您的代码中还有一个拼写错误:

  

“id integer primany”

primany应为primary