java - ") "附近的 SQLite 异常

标签 java sql

我收到类似“SQLite 异常接近”)“的错误:语法错误(代码 1)

这是我的创建表命令

 private static final int DATABASE_VERSION = 1;
 private static final String DATABASE_NAME = "attendance.db";
 private static final String TEXT_TYPE = " TEXT";
 private static final String COMMA_SEP = " ,";
 private static final String SQL_CREATE_ENTRIES = "CREATE TABLE " +
     TableElement.TABLE_NAME + " (" +
     TableElement.ID_COLUM + " INTEGER PRIMARY KEY AUTOINCREMENT ," +
     TableElement.IMAGE_COLUM + TEXT_TYPE + COMMA_SEP +
     TableElement.NAME_COLUM + TEXT_TYPE + COMMA_SEP +
     TableElement.GARDIAN_NAME_COLUM + TEXT_TYPE + COMMA_SEP +
     TableElement.CONTRACT_COLUM + TEXT_TYPE + COMMA_SEP +
     TableElement.PRESENT_COLUM + TEXT_TYPE + COMMA_SEP +
     TableElement.ABSENT_COLUM + TEXT_TYPE + COMMA_SEP +
     TableElement.LATE_COLUM + TEXT_TYPE + COMMA_SEP +
     TableElement.CHECKED_BUTTON_COLUM + TEXT_TYPE + COMMA_SEP + 
     " )";

最佳答案

您不需要最后一个 COMMA_SEP

当有疑问时,打印 SQL 查询,这些语法错误就会变得更加明显。在本例中,错误消息中的 ) 表明错误已接近尾声。

其他想法:

  • 其中一些静态变量,例如。 COMMA_SEP 使您的代码更难阅读。
  • 您的列名称属性上的 COLUMN 拼写错误。

关于java - ") "附近的 SQLite 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31846253/

相关文章:

java - 查找二维数组中每一列的最大值

java - 无法解压 snappy 文件,即使指定了 -Djava.library.path=/*/*/

sql - DB2 自动初始化和更新 TIMESTAMP

python - %(参数)s在这里意味着什么

java - 连接到本地主机数据库

mysql - 在 Ruby on Rails 中执行 SQL 文件以导入数据库

java - Spring 的数据绑定(bind)器 autoGrowCollectionLimit 不能正常工作

java - LinkedList - 循环不工作 - Java

mysql - 连接 3 个表,查询无响应

java - 我可以将 Swing 对象设置为与其底层容器的大小成比例吗?