如何使用SQLite数据库从表1中检索列数据并将该列值插入Android Studio中的表2中?

如何使用SQLite数据库从表1中检索列数据并将该列值插入Android Studio中的表2中?,android,database,sqlite,foreign-keys,android-sqlite,Android,Database,Sqlite,Foreign Keys,Android Sqlite,假设有两个表:tab1,tab2。 我需要tab1中的名称和ID字段,并将该数据插入tab2。我考虑过使用外键的概念,但我不知道怎么做 下面的代码显示了我想在项目中创建的表 @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table " + USER_INFO_TABLE + " (email TEXT PRIMARY KEY , name TEXT , contact TEXT (10)

假设有两个表:tab1,tab2。 我需要tab1中的名称和ID字段,并将该数据插入tab2。我考虑过使用外键的概念,但我不知道怎么做

下面的代码显示了我想在项目中创建的表

@Override
public void onCreate(SQLiteDatabase db) {

    db.execSQL("create table " + USER_INFO_TABLE + " (email TEXT PRIMARY KEY  , name TEXT , contact TEXT (10) , city TEXT , password TEXT)");
    db.execSQL("create table " + SP_INFO_TABLE + " (email TEXT PRIMARY KEY , name TEXT , contact TEXT (10) , city TEXT , password TEXT,service TEXT)");
    db.execSQL("create table " + ADMIN_EVENT_TABLE + "(event_type TEXT , venue TEXT , date TEXT , payment_status TEXT , amount TEXT , email TEXT PRIMARY KEY  , name TEXT ,  contact TEXT , FOREIGN KEY(contact)REFERENCES user_table(contact))");
}

要定义外键,请使用以下语法定义约束(在末尾的create语句中):

如果这令人困惑,或者您希望记录如表1中指定的那样存储在表2中,请使用触发器。您可以这样定义它:

db.execSQL("create trigger trigger_name before insert on table_2\nBEGIN\nINSERT INTO table_1 (cols ...) VALUES (new.col1_in_table2, new.col2_in_table2 ...);\nEND;");

这个问题的关系是什么:我想要tab1中的name和ID字段,并将该数据插入到tab2中,以及您想要创建的3个表中?
db.execSQL("create trigger trigger_name before insert on table_2\nBEGIN\nINSERT INTO table_1 (cols ...) VALUES (new.col1_in_table2, new.col2_in_table2 ...);\nEND;");