💽
PythonのSQLiteで外部キー(Foreign Key)
PythonのSQLiteで外部キーを使っていきます
まずPersonテーブルを作ります。
db = "./exsample.db"
con = sqlite3.connect(db)
cur = con.cursor()
table = "Person" # テーブル名
sql = f"""create table {table}(
id integer primary key autoincrement,
name text,
age integer,
)"""
cur.execute(sql) # SQL実行
self.con.commit() # 保存
id
はprimary key
で主キーにし、autoincrement
で自動で振り分けるようにしています。
外部テーブルを作ります。
table = "Memo" # テーブル名
sql = f"""create table {table}(
id integer primary key autoincrement,
title text,
content text,
writer_id integer,
foreign key(writer_id) references Person(id)
)"""
cur.execute(sql) # SQL実行
self.con.commit() # 保存
foreign key(writer_id) references Person(id)
に注目です。
ここで、writer_id integer
でいったんinteger
の項目をつくり、その下で
foreign key(<項目名>) references <繋ぐテーブル名>(<繋ぐテーブルの項目名>)
とします。
Discussion