【问题标题】:Synax Error When Trying To Create SQLite Database尝试创建 SQLite 数据库时出现语法错误
【发布时间】:2012-03-01 11:44:48
【问题描述】:

我在尝试在 0x367f80 上创建我的数据库失败 1(靠近“CREATE_TABLE”:语法错误)时收到此错误,准备“CREATE_TABLE cattletypes (_id INTEGER PRIMARY KEY AUTOINCREMENT,cattle_type TEXT);'。

我使用的代码是

    db.execSQL("CREATE_TABLE " + CattleType.CATTLETYPE_TABLE_NAME + " ("
        + CattleType._ID + " INTEGER PRIMARY KEY AUTOINCREMENT , "
        + CattleType.CATTLE_TYPE_NAME + " TEXT"
        + ");");

我一直在阅读它并重新阅读它,但我一生都无法弄清楚我的错误在哪里 - 我的课程代码是

        public static final class CattleType implements BaseColumns{
        private CattleType() {}
        public static final String CATTLETYPE_TABLE_NAME = "cattletypes";
        public static final String CATTLE_TYPE_NAME = "cattle_type";
        public static final String DEFAULT_SORT_ORDER = "cattle_type ASC";
        }

我错过了什么? 谢谢

【问题讨论】:

  • 没用过SQLLite但是CREATE和TABLE之间应该有下划线吗?我没有使用任何其他 SQL 变体。
  • 谢谢你,这就是不休息的结果......现在解决剩下的问题......再次感谢
  • 没问题。因为这是答案,并且我在其他发布与答案相同的内容之前发布了评论,所以我将自己发布它作为答案。
  • 谁对这个问题投了反对票——我认为这不公平。我们都有这样的日子,我们会错过一些让我们眼前一亮的东西——这个问题被问得很清楚,而且回答它所需的所有信息都被提供了。在我看来,你不能要求更多。

标签: java android sqlite database-design


【解决方案1】:

CREATE 和 TABLE 之间有一个“_”。删除它,它应该可以工作。

【讨论】:

    【解决方案2】:

    删除CREATETABLE之间的_

    【讨论】:

      【解决方案3】:

      正如我在评论中提到的,在 CREATETABLE 之间发现了一个多余的下划线。

      【讨论】:

        猜你喜欢
        • 2015-02-04
        • 2011-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多