首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加到表中的新列在查询中不显示

问添加到表中的新列在查询中不显示
EN

Stack Overflow用户
提问于 2017-05-30 00:16:16
回答 2查看 147关注 0票数 0

我正在向现有表中添加一个新列,并向该表中添加一个新条目,其中有效数据仅存在于新列中(默认情况下,其他列为0)

添加列:

代码语言:javascript
复制
        final String DB_ADD_COLUMN_STATEMENT_TABLE_SHOP_NAME =
                "ALTER TABLE "+ shopName + " ADD COLUMN "+ "D" + time + " FLOAT";
        try {
            mDB.beginTransaction();
            //SQLiteStatement statement = mDB.compileStatement(DB_ADD_COLUMN_STATEMENT_TABLE_SHOP_NAME);
            //statement.execute();
            mDB.execSQL(DB_ADD_COLUMN_STATEMENT_TABLE_SHOP_NAME);
            mDB.setTransactionSuccessful();
        }
        catch (Exception e) {
            Log.d(LOG_TAG,"addItemSample : Exception while adding column to table!!");
        }
        finally {
            mDB.endTransaction();
        }

将仅包含此列中的数据的新条目添加到表中成功。

但是当我查询表时,这个新列没有出现在游标中。

虽然添加列和查询发生在不同的线程中,但它们是从我的代码中调用它们的方式序列化的(即添加第一列,然后查询db ),而且I使用一个到db的连接。

我想知道这可能是什么原因?

PS:当在插入列之后立即执行db查询时,它会显示出来。

EN

回答 2

Stack Overflow用户

发布于 2017-05-30 00:23:42

取决于您的查询语句。是不是像这样

代码语言:javascript
复制
String query="select id, column1, column 2 from "+shopName+" where yourcondition";

?可能是你必须添加栏目?

代码语言:javascript
复制
String query="select id, column1, column2, D192200 from "+shopName+"";

也可以查询所有列

代码语言:javascript
复制
String query="select * from "+shopName+"";
票数 0
EN

Stack Overflow用户

发布于 2017-05-30 03:04:18

问题可能是您正在添加一个需要NOT NULL值的列

尝试如下所示:

代码语言:javascript
复制
ALTER TABLE "+ shopName + " ADD COLUMN  "+ "D" + time + " FLOAT" default 0 NOT NULL;

使用您需要的任何默认值,并根据需要更新值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44246759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档