【发布时间】:2016-04-20 19:40:14
【问题描述】:
我有两张表的列完全相同,只是第二张表有一些额外的列。
我想将除 _id 列之外的所有数据从第一个表复制到第二个。两个表中的列名完全相同。
这是第一张桌子
private static final String TABLE_EXPENSES_CREATE = "create table " + TABLE_EXPENSES + " (" +
COLUMN_ID + " integer primary key autoincrement, " +
COLUMN_DATE + " integer not null, " +
COLUMN_AMOUNT + " real not null, " +
COLUMN_DESCRIPTION + " text, " +
COLUMN_REPEAT_ID + " integer," +
" FOREIGN KEY (" + COLUMN_REPEAT_ID + ") REFERENCES " +
TABLE_REPEAT_METADATA + "(" + COLUMN_ID + ")" +
");";
第二个
private static final String TABLE_TRANSACTIONS_CREATE =
"create table " + TABLE_TRANSACTIONS + " (" +
COLUMN_ID + " integer primary key autoincrement, " +
COLUMN_DATE + " integer not null, " +
COLUMN_AMOUNT + " real not null, " +
COLUMN_DESCRIPTION + " text, " +
COLUMN_TYPE + " text not null, " +
COLUMN_REPEAT_ID + " integer," +
" FOREIGN KEY (" + COLUMN_REPEAT_ID + ") REFERENCES " +
TABLE_REPEAT_METADATA + "(" + COLUMN_ID + ")" +
");";
我正在尝试使用以下代码将所有内容从第一个表(COLUMN_ID 除外)复制到第二个:
db.rawQuery("insert into "
+ MySQLiteHelper.TABLE_TRANSACTIONS
+ " ("
+ COLUMN_DATE
+ ", "
+ COLUMN_AMOUNT
+ ", "
+ COLUMN_DESCRIPTION
+ ", "
+ COLUMN_REPEAT_ID
+ ") select "
+ COLUMN_DATE
+ ", "
+ COLUMN_AMOUNT
+ ", "
+ COLUMN_DESCRIPTION
+ ", "
+ COLUMN_REPEAT_ID
+ " from "
+ MySQLiteHelper.TABLE_EXPENSES, null);
但是,一旦代码运行,就没有效果了。日志不显示任何错误。我究竟做错了什么?
【问题讨论】: