Qt學習之sqlite外來鍵寫入

2021-10-22 13:33:01 字數 972 閱讀 7495

文章目錄[隱藏]

由於其中許可權不定,我想做成可拓展的,如(普通使用者,管理員,......)。然後想到的解決辦法就是外來鍵,於是利用搜尋引擎找到了答案。

foreign key(class_id) references pc_class(id))
qstringlist sqllist << qstring("create table users (id integer primary key autoincrement,") +

qstring("name varchar(16), password varchar(30), power int, foreign key(power) references user_roles(id));")

// 建立 user_roles 表

<< qstring("create table user_roles (id integer primary key autoincrement,") +

qstring("name varchar(16), desc varchar(100));");

void dbsqlite::initsqldatabase(qsqldatabase & database, qstring connname,

qstring conntype, qstring dbname, qstring dbhost,

qstring dbport, qstring dbusername, qstring dbpassword) else

}status_code dbsqlite::actionsqlcmd(qsqldatabase & database, qstring strsql) else

} else

}

SQLite外來鍵的實現

sqlite現在的版本還不支援外來鍵功能,雖然外來鍵約束會被解析,但執行的時候被忽略。但我們可以手動實現外來鍵,實現的原理就是觸發器。下面是我的實現方法。主要是針對乙個例子 先看下面兩個表。create table plu pluid integer not null primary key,nam...

SQLite 外來鍵 級聯更新 刪除

自身關聯 create table business id varchar 50 not null primary key,name varchar 200 not null,parent id varchar 50 configurationpage boolean not null,foreig...

sqlite3主鍵,外來鍵

參考 關係型資料庫中的一條記錄中有若干個屬性,若其中某乙個屬性組 注意是組 能唯一標識一條記錄,該屬性組就可以成為乙個主鍵。1.主鍵是能確定一條記錄的唯一標識 比如,一條記錄包括身份證號,姓名,年齡。身份證號是唯一能確定這個人的,其他都可能有重複,所以,身份證號可以是主鍵。主鍵 一般用於對資料的快速...