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

问题描述 投票:-1回答:1

假设有两个表: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))");
}
android database sqlite foreign-keys android-sqlite
1个回答
0
投票

要定义外键,请使用以下语法定义约束(在最后的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\nBEGIN\nINSERT INTO table_1 (cols ...) VALUES (new.col1_in_table2, new.col2_in_table2 ...);\nEND;");
© www.soinside.com 2019 - 2024. All rights reserved.