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”主键,并将相同的值作为外键插入到其他表中
答案 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]