Python 引用在SQL中不起作用的外键

Python 引用在SQL中不起作用的外键,python,sql,sqlite,Python,Sql,Sqlite,我试图引用两个独立的表来创建第三个表,但是SQL说在外文附近有一个语法错误 import sqlite3 as db connection = db.connect("doctor_who_database") cursor = connection.cursor() cursor.execute("""CREATE TABLE IF NOT EXISTS doctor_who_database( item_id TEXT PRIMARY KEY, item TEXT)""") curso

我试图引用两个独立的表来创建第三个表,但是SQL说在外文附近有一个语法错误

import sqlite3 as db
connection = db.connect("doctor_who_database")

cursor = connection.cursor()

cursor.execute("""CREATE TABLE IF NOT EXISTS doctor_who_database(
item_id TEXT PRIMARY KEY,
item TEXT)""")

cursor.execute("""CREATE TABLE IF NOT EXISTS doctor_who_database2(
person_id TEXT PRIMARY KEY,
season TEXT,
person TEXT)""")



cursor.execute("""CREATE TABLE IF NOT EXISTS doctor_who_database3(
id TEXT PRIMARY KEY,
item TEXT,
season TEXT,
person TEXT)""")

cursor.execute("""FOREIGN KEY(item_id) REFERENCES doctor_who_database(item_id)""")

FOREIGN KEY
中的字段必须存在于创建FK的表中,
item\u id
不是
doctor\u who\u数据库3
中的字段,而且
FOREIGN KEY
本身不是命令,例如,它应该放在
创建表

cursor.execute("""CREATE TABLE IF NOT EXISTS doctor_who_database3(
id TEXT PRIMARY KEY,
item TEXT,
season TEXT,
person TEXT,
FOREIGN KEY(id) REFERENCES doctor_who_database(item_id)""")

我没有看到任何语法错误。。。也许你忘了在你的问题中包括回溯。。?