【问题标题】:Alter table by add multiple column in a single statement ormlite通过在单个语句中添加多个列来更改表 ormlite
【发布时间】:2015-08-10 10:19:59
【问题描述】:

有没有办法在 ORMLite 的单个语句中添加多个列。 虽然我已经解决了这个 Sqlite 问题:sqlite alter table add MULTIPLE columns in a single statement

根据这个链接,Sqlite 没有办法,但据我所知,ORMLite 是 sqlite 的包装器,有没有办法像我们在 sql 中那样在单个语句中添加多个列:

ALTER TABLE table_name
   ADD (column_1 column-definition,
      column_2 column-definition,
      ...
      column_n column_definition);

提前致谢!!

【问题讨论】:

    标签: sqlite ormlite


    【解决方案1】:

    所以最后经过大量搜索后,我认为没有任何方法可以将多个列放在 OrmLite 中的单个语句中,因为 SQLite 不支持 ADD 关键字的多次迭代。

    感谢SQLite alter table的回答

    甚至在文档SQLite docs中也提到了

    【讨论】:

      【解决方案2】:

      有没有办法在ORMLite的单个语句中添加多个列

      ORMLite 中的任何架构更改都必须使用 Dao.executeRaw(...) method 完成,它只在数据库上运行原始语句并返回更改的行数(由数据库报告)。

      如果 Sqlite 支持 alter 语句,那么您应该能够执行以下操作:

      dao.executeRaw("ALTER TABLE table_name ADD (column_1 column-definition,"
            + " column_2 column-definition,"
            + " ...,"
            + " column_n column_definition);
      

      【讨论】:

      • 我尝试执行此语句,但它抛出异常无法运行原始执行语句 ALTER TABLE 'testbean' ADD (l INTEGER, m INTEGER) at com.j256.ormlite.dao.RuntimeExceptionDao.executeRaw(RuntimeExceptionDao .java:488)。其中 l, m 是列名。尽管使用此查询 ALTER TABLE 'reminderbean' ADD COLUMN askDayDifference INTEGER 我能够一次添加一列。要么我在进行查询时犯了错误,因为我在进行数据库查询方面经验较少。请帮我优化我的android代码。
      • 抱歉,我不是安卓专家@AnkurChaudhary。
      猜你喜欢
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 2013-02-21
      相关资源
      最近更新 更多