python3 sqlite选择主键并将相同的值插入其他表

时间:2018-10-28 08:47:33

标签: python python-3.x sqlite python-3.6

import sqlite3

conn = sqlite3.connect('animelist2.sqlite')
cur = conn.cursor()
~
~
~
cur.execute('''CREATE TABLE IF NOT EXISTS Production (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, p_name TEXT)''')

i_production = input('Insert production: ')
cur.execute('''INSERT INTO Production (p_name) VALUES (?)''', (i_production))
f_production = cur.execute("SELECT id From Production WHERE p_name = i_production ").fetchone()[0]
~
~
~
cur.execute('''INSERT INTO Title (t_name, genre_id, production_id, year_id ) VALUES (?,?,?)''', (i_title, f_genre, f_production, f_year ))

对不起,我不知道怎么办?命名标题...。(对不起我的英语不好)

我把代码的某些部分带错了

当我尝试此操作时,它说“无此列:i_production”

我认为我不能在最后一行'f_production = cur.execute(“ SELECT id From Production WHERE p_name = i_production”).fetchone()[0]'中使用此变量'i_production'

还有其他方法吗?

我要选择“生产ID”主键,并将相同的值作为外键插入到其他表中

1 个答案:

答案 0 :(得分:1)

违规行如下:

f_production = cur.execute("SELECT id From Production WHERE p_name = i_production ").fetchone()[0]

我想你想要的是

f_production = cur.execute("SELECT id From Production WHERE p_name = ?", [i_production]).fetchone()[0]