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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从表1中检索列数据并使用SQLite数据库将该列值插入到Android Studio的表2中?相关的知识,希望对你有一定的参考价值。

假设有两个表: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语句中):

db.execSQL("create table tablename(col1 info, col2 info, CONSTRAINT constraint_name FOREIGN KEY (col_name_in_this_table) REFERENCES target_table_name (col_name_in_target_table))");

如果这是令人困惑的,或者你想要在table_1中指定的记录,在将它存储在table_2中后,使用触发器。你可以像这样定义它:

db.execSQL("create trigger trigger_name before insert on table_2
BEGIN
INSERT INTO table_1 (cols ...) VALUES (new.col1_in_table2, new.col2_in_table2 ...);
END;");

以上是关于如何从表1中检索列数据并使用SQLite数据库将该列值插入到Android Studio的表2中?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 BeautifulSoup 从表中抓取特定列并作为熊猫数据框返回

如何从图库中选择图像并保存到 xamarin 中的 sql 数据库

从表中检索混合数据类型的模板化 get 方法

从表值参数c#中检索数据

访问:如何从表中检索某个字段并返回?

如何在 PetaPoco 中检索 xml 列